WCF回调的事件调度程序

WCF回调的事件调度程序,wcf,callback,Wcf,Callback,我有一个服务器,需要保持少量的客户端同步。每当服务器的状态发生变化时,必须通知所有连接的客户端 我计划使用“回调” 合同“ 我能找到那辆车 上每个客户端的回调引用 通过使用 GetCallbackChanel() 然后我需要 管理所有这些客户端通道 参考并在需要时呼叫所有人 需要 然而,到目前为止情况良好: 我不希望阻塞服务器,因此对客户端的调用必须是无阻塞的 必须记录并处理调用客户端的错误 是否有标准的WCF组件来执行此操作?否,至少在.NET 3.5中没有标准的WCF组件。我无法谈论

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

  • 我计划使用“回调” 合同“
  • 我能找到那辆车 上每个客户端的回调引用 通过使用 GetCallbackChanel()
  • 然后我需要 管理所有这些客户端通道 参考并在需要时呼叫所有人 需要
然而,到目前为止情况良好:

  • 我不希望阻塞服务器,因此对客户端的调用必须是无阻塞的
  • 必须记录并处理调用客户端的错误
是否有标准的WCF组件来执行此操作?

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

也就是说,有一种非常简单的方法可以做到这一点。的作者Juval Lowy介绍了如何使用基于WCF的

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

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