tags:

views:

67

answers:

1

I have a service that talks to other services on the same machine over named pipes. Everything works okay if I first start the service but after a while I get this exception:

"The pipe connection was aborted because an asynchronous read from the pipe did not complete within the allotted timeout of 00:02:00. The time allotted to this operation may have been a portion of a longer timeout." which has an inner exception that says: "The operation cannot be completed because the pipe was closed. This may have been caused by the application on the other end of the pipe exiting." while I'm doing any calls between the services.

The services are part of a pub/sub mechanism. I have different clients calling into a service, that service has a PerSession instancecontextmode. The clients connect over a netTcp binding and send keepalives every 30 seconds to keep their tcp session alive so the service can make callbacks into the clients. Then I have another service which is a singleton service where all the other service instances connect to over a named pipes binding and the purpose of this second binding is to route events. I'm fearing the architecture might have something to do with my problem here.

A: 

I refactored all the code in a seperate PubSub library so I have a generic framework for handling pub/sub over wcf. After refactoring the error doesn't show up anymore?

Before refactoring I noticed that I only got the exception when I had a debugger attached.

Jeroen