[英]Duplex WCF catch client disconnection event
我已经使用Duplex WCF开发了一个小型的客户端/服务器应用程序,但是在尝试检测客户端是否失去与服务的连接时遇到了问题。
在服务端,要检测“死”客户端,我只需捕获回调:如果失败,则将客户端从列表中删除。
在客户端,如何检测客户端是否已与服务器断开连接(IE客户端丢失了网络)?
我尝试过
((ICommunicationObject)m_InstContext).Faulted += new EventHandler(ConnectionCrashed);
((ICommunicationObject)m_InstContext).Closed += new EventHandler(ConnectionCrashed);
但似乎仅在客户端=>服务调用上触发,而在回调通道出现故障时则不会触发。
我的客户端软件对服务进行了初始调用,然后仅等待服务器回调。 我也添加了可靠的会话,但是似乎也无法捕获失败的保持活动。
还有其他解决方案可以检查客户端的回调通道是否仍处于活动状态吗?
谢谢
解决:我需要检查服务本身而不是InstanceContext上的Faulted / Closed
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.