【发布时间】:2011-04-05 11:26:44
【问题描述】:
我有一个异步 WCF 服务实现,我想检测客户端在 WCF 方法调用期间何时中止连接。
基本上,这就是我想要的:
- 客户端调用 WCF 方法
- 服务器开始异步处理请求
- 客户端中止连接(或连接因任何原因失败)
- 应通知服务器客户端已中止连接
这可能吗?
这是一个长轮询实现。或者,服务器能否确保客户端成功收到响应?如果没有,则应保存响应以供下一个轮询请求使用。
【问题讨论】:
-
我假设您使用的是 TCP。 TCP 没有真正的方法来判断“另一端”是否还活着,除了定期发送“保持活跃”消息。一些建立在 TCP 之上的协议可以做到这一点,但不是原始 TCP,恕我直言。
-
我认为,但是,服务器可以判断客户端是否收到响应,因为 TCP 可以检测到客户端发送的确认。
标签: c# .net wcf asynchronous long-polling