首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用双工wcf服务将消息分发到所有客户端?

如何使用双工wcf服务将消息分发到所有客户端?
EN

Stack Overflow用户
提问于 2015-06-07 18:36:16
回答 1查看 2K关注 0票数 0

我正在建立一个简单的双工wcf服务。在此服务中,客户端向服务器发送消息,服务器将消息分发给所有连接的客户端。然而,尽管我将ServiceBehavior属性定义为ServiceBehavior(InstanceContextMode = InstanceContextMode.Single),但只有发送消息的客户端才能从服务器接收回消息,而其他客户端则不能。我验证了只有一个服务器实例在运行。我做错什么了?我在网上看了其他类似的问题,他们都说我应该定义InstanceContextMode = InstanceContextMode.Single,我已经这么做了。

EN

回答 1

Stack Overflow用户

发布于 2015-06-08 12:12:34

你有回调合同吗。这样服务器就会回复给客户端。有关实现回调合同Click here的信息,请查看以下教程

另请检查下面的项目事件通知服务器。这个项目正在做你想做的类似的事情。

CodeProject Link

如果你需要更多的澄清,请随时问我

您需要维护代码片段中所示的clistList。

代码语言:javascript
复制
List<IMessageServiceCallback> clientList = new List<IMessageServiceCallback>();
public void Register()
{ 
    IMessageServiceCallback callback = OperationContext.Current.GetCallbackChannel<IMessageServiceCallback>(); 
    clientList.add(callback);
}

当你想广播这条消息的时候。您可以遍历列表并调用回调函数向客户端发送消息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30692530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档