代码之家  ›  专栏  ›  技术社区  ›  Eric Haskins

在WCF中使用远程事件

  •  3
  • Eric Haskins  · 技术社区  · 7 年前

    我想将事件从服务器应用程序传递到多个客户机。由于我使用wcf向客户机公开服务接口,所以我查看了wcf异步回调机制,但它似乎不支持将一条消息分派给多个客户机。 msmq是实现将事件传递到多个客户端的更好方法吗?

    谢谢。

    ==编辑===

    使用msmq我可以实现我需要的。

    我的服务器应用程序创建一个队列,客户机从中获取消息。客户机使用messagequeue提供的peek方法。这使队列中的消息可供其他客户机使用。

    为了避免用消息填充队列,服务器发送的消息的属性TimeToBereceived设置值非常低,导致消息过期。

    很遗憾,msmq没有提供JMS这样的主题

    ==编辑2===

    毕竟,在WCF中实现发布服务器订阅服务器模式很简单。

    这两篇文章( article1 , article2 )描述如何做到这一点。

    1 回复  |  直到 17 年前
        1
  •  1
  •   Krzysztof Kozmic    17 年前

    你要做的就是发布服务器订户多播。不,如果不编写大量样板代码,就不能在WCF中执行此操作。 msmq也不支持多播。

    如果您可以不使用WCF生活,请查看(所有免费和开源)NServicebus、MassTransit或Rhino服务总线。 如果必须使用WCF,请查看 Neuron (商业产品)。