【发布时间】:2018-09-09 08:48:22
【问题描述】:
我使用 Duplex WCF 开发了一个小型客户端/服务器应用程序,但在尝试检测客户端是否与服务失去连接时遇到了问题。
在服务端,为了检测“死”客户端,我只需捕获回调:如果失败,则从列表中删除客户端。
在客户端,如何检测客户端是否与服务器断开连接(IE 客户端丢失网络)?
我试过了
((ICommunicationObject)m_InstContext).Faulted += new EventHandler(ConnectionCrashed);
((ICommunicationObject)m_InstContext).Closed += new EventHandler(ConnectionCrashed);
但似乎它只在客户端 => 服务调用时触发,而不是在回调通道故障时触发。
我的客户端软件对服务进行初始调用,然后等待服务器回调。我也添加了可靠会话,但似乎也无法捕获失败的保活。
是否有其他解决方案可以检查客户端的回调通道是否仍然处于活动状态?
谢谢
【问题讨论】: