作成しようとしているテスト Web サービスの app.config ファイルを完全に詰め込みました。
私が今得ているエラーはこれです:
ServiceModel クライアント構成セクションで、コントラクト 'LocationService.ILocationServices' を参照する既定のエンドポイント要素が見つかりませんでした。これは、アプリケーションの構成ファイルが見つからなかったか、このコントラクトに一致するエンドポイント要素がクライアント要素に見つからなかったためである可能性があります。
そこにファイルを取得するためのドメイン www.mydomain.com があります。単純にそれらを ftp.mydomain.com - root に ftp します。
私の設定ファイルにはこれがあります:
<system.serviceModel>
<services>
<service name="CraigsService.LocationServices">
<endpoint address="" binding="basicHttpBinding" contract="CraigsService.ILocationServices">
<identity>
<dns value="www.mydomain.com" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://www.mydomain.com/CraigsService/LocationServices/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information,
set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="True"/>
<!-- To receive exception details in faults for debugging purposes,
set the value below to true. Set to false before deployment
to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
私のクラスはすべて CraigsService 名前空間にあります。
私のインターフェースは宣言されています:
public interface ILocationServices
しかし、私はこれを機能させることができません。ドメイン名を App.Config に含める必要がありますか? Localhost を試してみました (他にどのようにローカルでデバッグしますか?)。
私の人生では、問題を見つけることはできません。誰かが助けてくれることを願っています。
編集: 問題は、Web サイトと自分の Web サービスを同じフォルダーにデプロイしていたことです。すべてのファイルを削除して再デプロイすると、問題ないようです。ただし、サブフォルダー /services/ を作成し、そのフォルダーにサービスをデプロイする必要があります。App.Config で何を変更する必要がありますか?
フォルダーをデプロイ先の /services/ に単純に変更すると、次のようになります。
ServiceHost ディレクティブの Service 属性値として提供されるか、構成要素 system.serviceModel/serviceHostingEnvironment/serviceActivations で提供されるタイプ 'CraigsService.LocationServices' が見つかりませんでした。