Home Articles

使用netTcpBinding的WCF路由服务

Asked
Viewed 1854 times
1

我正在使用带有netTcpBinding的Wcf路由服务

我有一个名为ServiceTwo的WCF服务,只暴露一个netTcpBinding endpoints

我有一个使用ServiceTwo的客户端应用程序

然后我在它们之间有一个routingService,路由服务有两个 endpoints ,一个basicHttpBinding和一个netTcpBinding . 路由始终使用netTcpBinding与ServerTwo进行通信 .

我正在使用完整的IIS 8.5,启用了Http Activation和Non Http Activation,已经为ServiceTwo和路由服务设置了协议“http,net.tcp” .

对于以下情况,它可行

  • 如果客户端应用程序客户端直接使用ServiceTwo,而不是通过使用netTcpBinding进行路由 - >它工作正常

  • 或客户端应用程序使用basicHttpBinding通过路由调用ServiceTwo(路由总是使用netTcpBinding与ServerTwo通信) - >它也可以正常工作 .

但对于使用netTcpBinding连接到路由的案例客户端应用程序(路由总是使用netTcpBinding与ServerTwo通信)

我刚刚得到一个例外如下:

mscorlib.dll中发生了System.ServiceModel.CommunicationException类型的未处理异常附加信息:套接字连接已中止 . 这可能是由于处理消息的错误或远程主机超出接收超时或基础网络资源问题引起的 . 本地套接字超时为'00:00:59.9659874' .

你能告诉我可能错过的东西并导致错误非常感谢你 .

问候

1 Answer

  • 0

    当我的客户端使用SecurityMode.None而不是我的服务时,这个错误发生在我身上 . 但我认为例外情况相当普遍 . So I would advice you to re-check all values that set up your ServiceChannel incl. your Binding on Service & Client.

    顺便说一句:这个错误发生在我 only in case the client sets a SecurityModeservice does not !如果是 vice-versa a more meaningful exception occurs . 即:(ProtocolException - 这可能是由于绑定不匹配(例如在客户端而不是在服务器上启用了安全性))

Related