WCF给我“由于管道关闭,操作无法完成”。超时例外

时间:2010-09-04 22:46:44

标签: c# .net wcf

我有一个服务通过命名管道与同一台机器上的其他服务进行通信。如果我第一次启动服务,一切正常,但过了一段时间,我得到了这个例外:

“管道连接已中止,因为管道的异步读取未在分配的超时00:02:00内完成。分配给此操作的时间可能是较长超时的一部分。”它有一个内部异常,上面写着:“由于管道已关闭,操作无法完成。这可能是由管道另一端的应用程序退出造成的。”我正在服务之间进行任何调用。

服务是pub / sub机制的一部分。我有不同的客户端调用服务,该服务具有PerSession instancecontextmode。客户端通过netTcp绑定连接并每隔30秒发送一次keepalive以保持其tcp会话处于活动状态,以便服务可以回调客户端。然后我有另一个服务,它是一个单例服务,其中所有其他服务实例通过命名管道绑定连接,第二个绑定的目的是路由事件。我担心这个架构可能与我的问题有关。

1 个答案:

答案 0 :(得分:0)

我重构了一个单独的PubSub库中的所有代码,所以我有一个通用框架来处理wcf上的pub / sub。重构后,错误不再显示了?

在重构之前,我注意到当我连接了调试器时,我才得到异常。