告诉 wcf 客户端何时失去连接

本文关键字:失去 连接 何时 客户端 wcf 告诉 | 更新日期: 2023-09-27 18:33:20

我有几台计算机作为 WCF 客户端工作,它们连接到作为 WCF 服务的计算机。现在假设一个客户端连接丢失(即电缆断开连接),我怎么知道这发生在服务端?我尝试使用 wcf 回调事件关闭/关闭,但我没有接到电话。我正在用 C# 编写。

此致敬意。阿迪。

告诉 wcf 客户端何时失去连接

回调不起作用,因为您的客户无法告诉服务"我与您关系密切"。

您需要的是心跳 - 客户端生成的周期性信号,以指示正常操作。如果服务没有及时从其中一个客户端收到此信号,它可以猜测此客户端丢失了连接。

此外,还需要一种方法来区分服务端的客户端和另一个客户端。对于检查,每个客户端都可以在心跳信号中传递唯一的 id。

您的服务不应关心网络电缆是否已断开连接。TCP的一个特点是,除非有人主动发送数据,否则它可以容忍网络连接的短暂中断。

在 WCF 中更是如此,其中有多层额外的框架来帮助保护您免受网络不可靠性的影响。

尝试检测客户端断开连接的主要目的是降低可靠性和可用性。