0

作成しようとしているテスト 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' が見つかりませんでした。

4

2 に答える 2

0

コントラクト インターフェイスとサービス コントラクトを実装する型の実際の名前空間ではなく、名前空間「CraigsService」を含めるように、.Net 型の名前空間修飾名を指す参照を変更したようです。config xml および @ServiceHost ディレクティブで名前を変更するか、型を新しい名前空間に移動します。たとえば、おそらく変更できます

<% @ServiceHost Service=”CraigsService.LocationServices” ...

<% @ServiceHost Service=”TheActualNameSpace.LocationServices” ...
于 2013-03-12T10:44:06.437 に答える
0

問題は、ホスティング会社のコントロール パネルの設定が間違っていたことです。iis アプリケーション ルートとして設定するために分割していたフォルダー。

于 2013-03-12T20:45:34.360 に答える