3

サーバーWindows2008でホストされている.Netサービスと、インターネット経由でこのサーバーに接続している.Netクライアントがあります。

wsDualHttpBindingを使用して、同じMicrosoftサンプルのパブリッシュサブスクライブモデルを実装します。このモデルでは、クライアントがサービスのイベントをサブスクライブし、データが利用可能になったときにデータをプッシュすることができます。

サーバーにサービスを実装し、正常に参照できるようになりました。しかし、クライアントから通信しようとすると、タイムアウトになります(ファイルクライアントとサーバーの両方で構成ファイルの時間プロパティを増やしました)

クライアント構成ファイル:

<client>
  <endpoint name="" address="http://x.x.x.x/servicemodelsamples/service.svc" binding="wsDualHttpBinding" bindingConfiguration="Binding1" contract="Microsoft.ServiceModel.Samples.ISampleContract"/>
</client>

<bindings>
  <wsDualHttpBinding>
    <!--If running in cross machine then replace localhost with the FQDN of the machine on whihc datasource.exe is run-->
    <binding name="Binding1" clientBaseAddress="http://xxxx:xxxx/myClient/" closeTimeout="00:05:00"
        openTimeout="00:05:00" receiveTimeout="00:10:00" sendTimeout="00:05:00"
        bypassProxyOnLocal="false" maxBufferPoolSize="524288" maxReceivedMessageSize="500000000"
        useDefaultWebProxy="true">
      <security mode="None">
        <message clientCredentialType="None" negotiateServiceCredential="false" />
      </security>

    </binding>
  </wsDualHttpBinding>
</bindings>

4

1 に答える 1

1

WSDualHttpBindingインターネット上の通常のクライアントでは機能しません。

この回答は理由を説明しています:wsDualHttpBindingを使用してインターネット経由でWCFサービスに接続するとタイムアウトします

クライアントは.NETであるため、デュプレックスを使用できるはずですNetTcpBinding

于 2013-01-07T13:03:32.370 に答える