我有一个双工 WCF 服务,它依赖于服务和客户端之间的一致命名管道连接。这是一种发布/订阅系统,客户端在服务上调用订阅并被放入订阅列表中。然后,服务调用它自己的某些更新方法,这些方法将通过回调将更新推送到客户端。
我已将 netnamedpipebinding 的 recieveTimeout 设置为“无限”。我可以合理地依赖此连接永远打开吗?更重要的是,是否存在通道在超时之外发生故障的情况?
由于命名管道只是一个共享内存位置,除了硬件问题之外,我想不出它会持续失败的许多原因。此外,没有太多方法可以保证在一定间隔内进行 ping 之外的连接。
顺便说一句,我的直觉是避免同时使客户端成为 WCF 服务。我知道这不是一个真正的循环依赖,但它只是感觉很恶心。然而,我对那些告诉我我只是偏执的人持开放态度,这种模式是可以的。