1
votes

I am using the Wcf Routing Service with the netTcpBinding

I have a WCF Service named ServiceTwo exposing just only one netTcpBinding endpoint

I have a client application consuming the ServiceTwo

Then I have a routingService between them, the routing service has two endpoints, a basicHttpBinding and a netTcpBinding. The routing always use netTcpBinding to communicate with the ServerTwo.

I am using the full IIS 8.5, enabled Http Activation and Non Http Activation, already setup protocol "http, net.tcp" for the ServiceTwo and the routing service as well.

for these below scenarios, it works

  1. if the client application client consumes the ServiceTwo directly, not go through the routing, using netTcpBinding -> it works fine

  2. or the client application call the ServiceTwo through the routing using basicHttpBinding (the routing always use netTcpBinding to communicate with the ServerTwo) -> it also works fine.

But for the case client app using the netTcpBinding to connect to the routing (the routing always use netTcpBinding to communicate with the ServerTwo)

I just got an exception as below:

An unhandled exception of type System.ServiceModel.CommunicationException' occurred in mscorlib.dll Additional information: 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 '00:00:59.9659874'.

Could you please advise something I might miss and cause the error Thank you very much.

Regards

1

1 Answers

0
votes

This error occured for me, when my client was using SecurityMode.None, but not my Service. But I think the exception is rather general. So I would advice you to re-check all values that set up your ServiceChannel incl. your Binding on Service & Client.

btw: this error occurs for me only in case the client sets a SecurityMode and the service does not! If it is vice-versa a more meaningful exception occurs. Namely: (ProtocolException - This could be due to mismatched bindings (for example security enabled on the client and not on the server))