【问题标题】:Check all clients connection to wcf service检查所有客户端与 wcf 服务的连接
【发布时间】:2012-01-17 20:22:11
【问题描述】:

我有连接多个客户端的 wcf 服务。如果其中一个想要断开连接,则结束代理会话,通知其他用户等

但有时客户端会不正确地与 wcf 服务断开连接(例如,用户结束了他的进程)。 如何检测,该客户端断开连接并通知其他客户端?

【问题讨论】:

  • 请在此处添加更多上下文。你用什么绑定?什么是合同?您如何检测“正确”断开连接?这将有助于人们理解您的问题。
  • 您是否在不同客户端之间维护会话对象?
  • @oleksii 正确断开连接是指要断开连接的用户发送广播简单消息列表枚举“ActionType.Disconnect”。问题是当进程突然关闭并且没有时间调用这个广播()
  • @AmarPalsapure 会话仅在客户端和服务之间。并非所有客户之间。
  • 也许这个SO问题的答案可以帮助你:[stackoverflow.com/questions/5338842/… [1]:stackoverflow.com/questions/5338842/…

标签: c# wcf service connection


【解决方案1】:

由于客户端突然断开连接,您将无法在服务端知道客户端是否断开连接,因此您必须手动断开用户连接。

为此,您需要在会话对象中添加LastAccessTime 属性。完成此操作后,您将必须编写一个后台工作者角色,该角色将根据LastAccessTime 断开会话。在每个请求中,您都会用当前时间更新这个时间。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    相关资源
    最近更新 更多