tags:

views:

28

answers:

2

Hi All, I have 2 wcf services, 1 which polls the other service at regular interval.The service2 is hosted in no. of machines with the same configuration.

My problem is that whenever the poller service gets restarted, even though the service2 on other machines runs fine, i am not getting the response from those services (basically it gets timed out - getting SYSTEM.TimeOutException ). If I try to access the same service (service2) from some temp application (without restarting the service2) it gives response. If I restart the service2, than it works fine, the service1 (poller service) gets the responses from all hosted services (Service2).

Dont know what is causing problem.

Regards, Chirag

A: 

Attach VS to your wcf service which hangs. And find out if your connection is successful.

Do it with both services, so that you can debug the services at runtime.

pipelinecache
A: 

If you're using a sessionful binding (netTcpBinding, wsHttpBinding), it's more than likely that you're not explicitly closing your client channel when you're done with it. This would cause the behavior you see, because the session takes a minute or so to time out if you don't explicitly close it, and the default max number of sessions is low (10)- the server will let new sessions stack up until old ones close. You can also adjust the service throttle on the server side binding to increase the max number of open sessions allowed, but you really should make sure your clients are getting cleaned up properly first.

nitzmahone