如何使用双工wcf服务将消息分发到所有客户机
本文关键字:客户机 消息 何使用 wcf 服务 | 更新日期: 2023-09-27 17:54:22
我正在构建一个简单的双工wcf服务。在此服务中,客户端向服务器发送消息,服务器将消息分发给所有连接的客户端。然而,尽管我将ServiceBehavior属性定义为[ServiceBehavior(InstanceContextMode = InstanceContextMode. single)],只有发送消息的客户端从服务器接收到它,而其他客户端没有。我确认只有一个服务器实例在运行。我做错了什么?我在网上看了其他类似的问题,他们都说我应该定义InstanceContextMode = InstanceContextMode。单身,我已经单身了
你有回调契约吗?这样服务器就会回复客户端。查看下面的教程实现回调契约点击这里
也检查下面的项目事件通知服务器。这个项目正在做你想做的事情。
CodeProject上联系如果您需要更多的说明,请随时问我
您需要像代码片段中所示的那样维护listlist。
List<IMessageServiceCallback> clientList = new List<IMessageServiceCallback>();
public void Register()
{
IMessageServiceCallback callback = OperationContext.Current.GetCallbackChannel<IMessageServiceCallback>();
clientList.add(callback);
}
当您想要广播此消息时。您可以遍历列表并调用回调函数向客户端发送消息。