私はこの問題について既に数日間立ち往生しています。私はwcfの基礎を知っています。既存のコードを管理してこの問題に遭遇しました。私は何の問題もなくクライアントにアプリケーションをホストしていました.WCFクライアントサイトはこのwcfサービスが非スターターであったことを除いてサービスと通信できました。SocketExceptionが発生しました既存の接続がリモートホストによって強制的に閉じられましたErrorCode = 10054
これはIISでホストされるwcfサービスです。私たちはCA発行の証明書を持っています。クライアントで証明書を確認できるので、mmcの信頼できる発行元の下で適切にインポートされていると考えられます。
wcfクライアントアプリケーションは、wcfオブジェクトをインスタンス化できます。しかし、 "true"(wcfobjectが到達可能であることを確認する)を返す単純な関数を呼び出すと、例外がスローされます。
EndpointAddress myEndpointAdd = new EndpointAddress(new Uri(practiceUrl),
EndpointIdentity.CreateDnsIdentity(dnsIdentity));
DataServiceClient wcfObject = new DataServiceClient("wsHttpEndPoint", myEndpointAdd);
((WSHttpBinding)wcfObject.ChannelFactory.Endpoint.Binding).MaxReceivedMessageSize = 2147483647;
((WSHttpBinding)wcfObject.ChannelFactory.Endpoint.Binding).ReaderQuotas.MaxArrayLength = 2147483647;
((WSHttpBinding)wcfObject.ChannelFactory.Endpoint.Binding).MaxBufferPoolSize = 2147483647;
((WSHttpBinding)wcfObject.ChannelFactory.Endpoint.Binding).OpenTimeout = TimeSpan.FromMinutes(10);
((WSHttpBinding)wcfObject.ChannelFactory.Endpoint.Binding).ReceiveTimeout = TimeSpan.FromMinutes(5);
((WSHttpBinding)wcfObject.ChannelFactory.Endpoint.Binding).SendTimeout = TimeSpan.FromMinutes(10);
((WSHttpBinding)wcfObject.ChannelFactory.Endpoint.Binding).ReaderQuotas.MaxBytesPerRead = 2147483647;
((WSHttpBinding)wcfObject.ChannelFactory.Endpoint.Binding).ReaderQuotas.MaxDepth = 2147483647;
((WSHttpBinding)wcfObject.ChannelFactory.Endpoint.Binding).ReaderQuotas.MaxStringContentLength = 2147483647;
wcfObject.IsClientRunning(); //service should return true if all goes well
クライアントは、私のマシンのIPにファイアウォールを開いているし、私のブラウザから私は、クライアントにインストールされたサービスのランディングページを見ることができています。
<bindings>
<wsHttpBinding>
<binding name="wsHttpBindingSettings" receiveTimeout="00:20:00" closeTimeout="00:20:00" openTimeout="00:20:00" sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="Message">
<message clientCredentialType="Certificate" />
</security>
</binding>
</wsHttpBinding>
</bindings>
サービストレースビューアもインストールしましたが、エラーは表示されません。