1

我在 wsDualHttpBinding 上使用双工通信。

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

我需要一种方法让服务检测客户端何时意外关闭。我曾尝试在服务器端为故障处理程序挂钩一个函数,但它从未被调用。

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

有什么建议么?

4

1 回答 1

2

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

于 2012-02-18T05:23:14.077 回答