我在 ServerA 上部署了一个 WCF 服务。我正在使用 tcp 绑定(bind)。
我还有一个由 ServerB 和 ServerC 组成的网络场。
当我在任何服务器 ServerB 或 ServerC 上部署使用 WCF 服务的应用程序时,在尝试调用我的服务时出现错误。我添加了跟踪,这是我得到的错误:
The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '10675199.02:48:05.4775807'.
我尝试从我的电脑上使用相同的服务,但它工作正常。我还尝试将应用程序部署到不在网络场上但在同一网络上的其他服务器上,并且我也能够使用我的服务。
所以我发现问题与服务器 B 和 C 在网络场上有关。这只是一个猜测,但我找不到此行为的任何其他原因。
感谢任何帮助。 谢谢。
最佳答案
如果服务器位于负载均衡器之后,您可能必须执行以下操作(useRequestHeadersForMetadataAddress):
<serviceBehaviors>
<behavior name="YourServiceBehavior">
<useRequestHeadersForMetadataAddress />
</behavior>
</serviceBehaviors>
关于.net - Web 场服务器使用的 WCF。错误 : The socket connection was aborted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12726182/