2013-12-10 44 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

相關問題