【问题标题】:Notify all clients when specific event happens. Where to subscribe to events?当特定事件发生时通知所有客户。在哪里订阅事件?
【发布时间】:2016-10-03 18:24:10
【问题描述】:

我在 Google 上搜索了两个示例,说明如何在特定事件发生时通知所有客户,但我很困惑我应该使用哪一个:

示例 1 - http://www.nullskull.com/a/1360/notify-client-applications-using-wcf-callbacks.aspx 示例 2 - http://www.anujvarma.com/wcf-publish-subscribe-a-full-example-the-service-side-part-2-implementation/

在第一个示例事件中,eventargs 等被放置在客户端,第二个 - 在服务端。我应该在哪里举办活动?

我要实现的目标简介:使用本地网络的简单纸牌游戏项目。我想在其中一个客户抛出卡片(将其放在桌子上并结束他的回合)并更新它们的接口时通知所有客户,以便每个客户都可以看到抛出的卡片。

【问题讨论】:

    标签: c# wcf


    【解决方案1】:

    如果要使用 WCF,则需要使用 duplex WCF service(广播服务)实现广播事件。第一个链接确实提到了这一点。

    我认为您所指的事件是发生在服务和客户端上的操作:

    要创建双工合同,您需要创建一对接口。首先 是描述操作的服务契约接口 客户端可以调用。该服务合同必须指定一个回调 ServiceContractAttribute.CallbackContract 属性中的合同。 回调合约是定义操作的接口 服务可以调用客户端端点。

    您可能还想考虑使用ASP.NET SignalR

    SignalR 允许服务器和客户端之间的双向通信。 服务器现在可以立即将内容推送到连接的客户端 可用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      相关资源
      最近更新 更多