使用Windows服务通过WCF处理MSMQ消息

我们有一个解决方案,我们正在使用Windows服务选择邮件。

Windows服务每两分钟后触发一次,并检索MSMQ消息以将其传递给Web服务。

  • 我可以创建一个WCF服务,它将自动从MSMQ队列中选取消息吗?
  • 如果支持自动调用,可以通过使用WCF服务避免Windows服务?

  • 问题1:您可以自动从MSMQ中获取消息,您需要查看netmsmqbinding,但您需要考虑一些设计注意事项,但如果您习惯了本机MSMQ,则知道您有能力偷看消息。 但是当你使用WCF时,你就无法窥视这个能力。 WCF将拦截MSMQ中的消息,并且负责保持您的WCF服务和窥视应用程序同步。 您还需要考虑是否需要事务性或非事务性队列,并且您将不得不基于此来修改绑定。

    Q2:您需要在Windows服务或IIS7中托管WCF服务。 如果您在IIS7中托管,请查看启用MSMQ WAS侦听器

    这里有一篇不错的文章:http://blogs.msdn.com/tomholl/archive/2008/07/12/msmq-wcf-and-iis-getting-them-to-play-nice-part-1.aspx


    将消息从MSMQ传输到Web服务调用的一种方法是使用支持同一合同的netMsmqBinding服务端点和basicHttpBinding客户端端点。 netMsmq服务将自动从队列中获取消息并将它们反序列化为一个对象。 在实现netMsmq服务时,只需实例化您的basicHttp客户端代理,然后调用相同的方法即可。 基本上是从Web服务到MSMQ的传递或代理模式,反之亦然。 在Juval Lowy的“编程WCF”中,他将这种模式称为队列的“HTTP桥”。

    链接地址: http://www.djcxy.com/p/55797.html

    上一篇: Using Windows Services to process MSMQ messages via WCF

    下一篇: Checkbox in a dynamic table with dynamic input fields