2012-02-18 109 views
1

我正在使用wsDualHttpBinding进行双工通信。如何检测服务中的客户端回调通道故障

每个登录到服务器的客户端,一个GUID和一个回调通道都被构造并保存在字典中。 (非常标准的方法)

我需要一种方法让服务检测客户端何时意外关闭。我已经尝试在服务器端挂钩故障处理程序的函数,但它永远不会被调用。

我猜测是因为连接在服务器端一半打开,因为它在wsDualtHttpBinding中使用不同的回调通道和客户端通道。

有什么建议吗?

回答

2

我不认为你会得到一个解决方案。如果您不需要WS *兼容性,则可以设想创建自定义绑定和通道,以定期在客户端&服务器之间发送心跳包,类似于HTTP Long polling。如果错过了一些心跳次数(如2),则假定另一端已断开连接。否则,服务器无法知道客户端意外断开连接,直到超时。

+0

o'k thanks 我想我会在连接超时时删除它们 – 2012-02-18 06:08:10

相关问题