【问题标题】:Event Dispatcher for WCF call-backsWCF 回调的事件调度程序
【发布时间】:2009-11-23 23:20:08
【问题描述】:

我的服务器需要保持少量客户端同步。每当服务器状态发生变化时,必须通知所有连接的客户端。

  • 我打算使用“回调 合同”,
  • 我可以得到 每个客户端的回调参考 服务器通过使用 获取回调通道()。
  • 然后我需要 管理所有这些客户渠道 参考并调用它们 需要。

不过到目前为止还不错:

  • 我不想阻塞服务器,所以对客户端的调用必须是非阻塞的
  • 必须记录和处理调用客户端的错误

是否有标准的 WCF 组件来执行此操作?

【问题讨论】:

    标签: wcf callback


    【解决方案1】:

    不,至少在 .NET 3.5 中没有标准 WCF 组件。我无法谈论 .NET 4.0 中可能提供的内容。

    也就是说,有一种非常简单的方法可以做到这一点。 Programming WCF Services 的作者 Juval Lowy 描述了如何使用他基于 WCF 的 Publish-Subscribe Framework 来做到这一点。

    基本上,这个想法是创建一个单独的 WCF 事件服务,该服务与您的服务器驻留在同一托管应用程序中(例如,Windows 服务、IIS)。当您的服务器状态发生变化时,您将状态更改发布到事件服务。需要通过事件服务保持同步订阅同一事件的客户端。实际上,事件服务成为您的服务器的代理,以通知客户端您的服务器发布的任何事件。

    我上面列出的文章有一个代码下载,但您也可以从他的网站IDesign.net 免费获得发布-订阅框架和一个工作示例。这是download 的链接。您可能需要稍微向上滚动浏览器才能看到它,因为我认为他们的内部超链接是错误的。

    【讨论】:

      猜你喜欢
      • 2019-01-20
      • 2017-05-07
      • 2021-02-24
      • 2011-10-13
      • 2011-08-24
      • 2011-12-05
      • 2015-03-30
      • 2023-03-18
      • 1970-01-01
      相关资源
      最近更新 更多