2013-12-10 41 views
0

我们目前正在实现一个Windows服务,它需要发布Windows或Web应用程序可以订阅的信息。发布的信息应主要由字符串组成,并将用于记录服务正在执行的任务,因此会有一个持续不断的信息流被发送到订阅的应用程序。Windows服务到Windows应用程序和Web应用程序技术选项 - 优缺点

我一直在研究诸如Nservicebus之类的MSMQ,WCF和ESB等技术,但由于我对于Windows服务和应用程序订阅都很新颖,所以到目前为止很难获得有关优势的想法的每一个,哪些(如果有的话)将是这种类型的项目的理想选择。任何对这些选项更熟悉的人都可以提供这些技术提供的某些优点/缺点吗?

为了更好地总结一下我刚才的段落,该项目有望在下列条件下运行:

  1. 的消息不断地从服务发布到任何订阅应用
  2. 通讯预计单向(服务到应用程序),因此来自任何应用程序的停机时间不应影响服务的工作
  3. 该服务必须同时发布到Windows应用程序和Web应用程序
  4. 新应用程序可能需要sub在不破坏服务的工作的情况下抄写(看起来像给定的,但正如我所说的,我不熟悉这些选项)
  5. 该程序的首选语言是C#。

非常感谢您的宝贵时间,任何有关这些或更多合适技术的建议都将不胜感激。

回答

1

MSMQ和WCF有很多选项。有很多不同的方法和框架可以帮助,这取决于许多因素。

如果你想用一些指导做你自己,我建议你看看汤姆荷兰人伟大的职位:

http://blogs.msdn.com/b/tomholl/archive/2008/05/17/building-a-pub-sub-message-bus-with-wcf-and-msmq.aspx

http://blogs.msdn.com/b/tomholl/archive/2008/07/12/msmq-wcf-and-iis-getting-them-to-play-nice-part-1.aspx

还有其他更“完整的“选项,如果你使用现有的服务总线,如BizTalk,nServiceBusMassTransit

另一种选择是Multicast,自MSMQ 3.0以来就可以使用,这种功能将支持您将多个接收者(您的Windows应用和Web应用)配置为一个发布者(您的Windows服务)的场景。发送者和接收者都可以使用MsMqIntegration绑定与队列进行交互。我建议你看看:http://blogs.msdn.com/b/solutions/archive/2005/09/20/471615.aspx

相关问题