[英]How to use a duplex wcf service to distribute messages to all clients?
我正在构建一个简单的双工wcf服务。 在此服务中,客户端将消息发送到服务器,服务器将消息分发到所有连接的客户端。 但是,尽管事实上我将ServiceBehavior属性定义为[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)],但仅发送邮件的客户端从服务器接收了该邮件,而其他客户端则没有。 我验证了只有一个服务器实例正在运行。 我做错了什么? 我在网上看了其他类似的问题,他们都说我应该定义InstanceContextMode = InstanceContextMode.Single,我已经做了。
您是否有回调合同。 这样该服务器将回复给客户端。 查看以下实现回拨合同的教程,请单击此处
还要检查下面的项目事件通知服务器。 这个项目正在做您想要的类似事情。
随时问我是否需要进一步说明
您需要维护clistList,如代码片段所示。
List<IMessageServiceCallback> clientList = new List<IMessageServiceCallback>();
public void Register()
{
IMessageServiceCallback callback = OperationContext.Current.GetCallbackChannel<IMessageServiceCallback>();
clientList.add(callback);
}
当您要广播此消息时。 您可以遍历列表并调用回调函数以将消息发送给客户端。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.