【问题标题】:How to detect client callback channel fault in service如何检测服务中的客户端回调通道故障
【发布时间】:2012-02-18 03:08:26
【问题描述】:

我在 wsDualHttpBinding 上使用双工通信。

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

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

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

有什么建议吗?

【问题讨论】:

    标签: c# wcf duplex wsdualhttpbinding


    【解决方案1】:

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

    【讨论】:

    • 好的,谢谢,我想我会在连接超时时删除它们
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多