您是否可以从WCF服务向客户端发送数据而无需客户端调用该服务?

时间:2011-12-09 23:08:59

标签: c# wcf p2p

说我想写一个点对点聊天应用程序。我使用WCF服务作为客户端登录的服务器,以便他们可以找到彼此的IP地址和端口。

嗯,也说我的客户端应用程序中有一个文本框,显示所有在线用户。每次用户登录或退出时,我都希望更新此“Who's online”文本框,以便仅显示当前在线用户。

因此,一旦用户登录或注销,服务器就需要向所有客户端发送信息。但似乎WCF只能在响应请求时发送数据....

我在这里遗漏了什么,WCF是否能够处理这种情况?

2 个答案:

答案 0 :(得分:2)

我认为你需要双工服务。

答案 1 :(得分:2)

这个问题有几种方法,这些可能是最常见的方法:

  1. 使用发布/订阅,如此good article
  2. 将所有当前登录的用户保留在存储中 - 数据库或您喜欢的任何内容,并从用户那边查询。