0

で作成WCF Service LibraryVS2012、ローカルにロードしましたIIS
私のクライアントはWindows-Mobile 6.5デバイスで、クライアントの構成ファイルはnetcfsvcutil.exe. デバッグ中はすべてうまくいきましたが、サービスを外部にアップロードすると、外部 URL からファイルが生成されたにもかかわらず例外が発生しIIS続けます。これは、リモート サーバーにあるファイルです。There was no endpoint listening...netcfsvcutil.exeweb.config

<system.serviceModel>
<bindings>
  <basicHttpBinding>
    <binding name="TestBinding" receiveTimeout="00:01:00" sendTimeout="00:01:00">
      <security mode="None" />
    </binding>
  </basicHttpBinding>
</bindings>
<services>
  <service name="MyService.CollectionService">
    <endpoint address="" binding="basicHttpBinding" contract="MyService.ICollectionService" bindingConfiguration="TestBinding">
      <identity>
        <dns value="localhost" />
      </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8733/Design_Time_Addresses/MyService/CollectionService/" />
      </baseAddresses>
    </host>
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior>
      <serviceMetadata httpGetEnabled="True" />
      <serviceDebug includeExceptionDetailInFaults="True" />
    </behavior>
  </serviceBehaviors>
</behaviors>

クライアント エンドポイントは次のように生成されます。

public static System.ServiceModel.EndpointAddress EndpointAddress = 
    new System.ServiceModel.EndpointAddress("http://1.2.3.4/MyService/MyService.CollectionService.svc");

サービスを外部にアップロードしたときに構成を変更していませんIIS。ある仮想ディレクトリから別の仮想ディレクトリにファイルをコピーして貼り付けただけです。役立つかもしれないことは、タイムアウトなしで例外が発生することです。

4

1 に答える 1

1

ベース アドレス パスとポートが、クライアント構成のエンドポイント アドレスと一致しません。

構成内のアドレス:http://localhost:8733/Design_Time_Addresses/MyService/CollectionService/"

エンドポイントのアドレス:

http://1.2.3.4/MyService/MyService.CollectionService.svc

エンドポイント コードを次のように変更する必要があります。

public static System.ServiceModel.EndpointAddress EndpointAddress = new System.ServiceModel.EndpointAddress("http://1.2.3.4:8733/Design_Time_Addresses/MyService/CollectionService");
于 2013-06-20T14:22:54.357 に答える