我看到NServiceBus使用MSMQ作爲它的傳輸。爲什麼不使用WCF和MSMQ作爲底層傳輸?爲什麼Nservicebus不使用WCF?
回答
一旦你意識到今天的微軟是很多可能(或最有可能)不可能使用彼此代碼的團隊。 NserviceBus傢伙做出了一個決定,他們不想因爲任何原因使用WCF,就是這樣。
幾年前,我在一個MS會議上向我們介紹MTS,並問他爲什麼那裏的安全組沒有使用本地組(即WinNT安全組)。他歪着頭,說道:「是的,我明白你來自哪個問題,請接下來的問題」。看,MTS的團隊安全性與本地團體的設計完全一樣 - 但MTS團隊認爲他們會實施自己的團隊並忽略基礎的NT安全系統。如果我們可以有1個地方來設置安全性並將其應用於所有Microsoft產品,那我會非常高興,但事實並非如此。即使是微軟自己的開發者。
主要原因是MSMQ代碼是在WCF存在之前編寫的。隨着時間的推移,大部分工作都集中在添加新功能,而不是重新考慮已經解決的MSMQ集成問題。
還有一些NServiceBus在MSMQ方面做的事情,WCF不這樣做。例如,如果NServiceBus不存在,NServiceBus將創建一個隊列。這使得使用NServiceBus比使用WCF更順暢。
這並不意味着如果遷移到WCF/MSMQ之上工作,則無法保留此功能,但主要原因在於它與下一版本的所有其他內容相比,優先級太低。
謝謝 - 我總是閱讀Java ESB和JMS。我喜歡.Net,我對.Net ESB感興趣,尤其是NServiceBus。所以,如果你要重新開始,你會使用WCF嗎? – Jason 2011-05-23 13:53:41
Jason,這是一個很好的問題 - 看到WCF固有的複雜性,我仍然可能更願意選擇「更接近金屬」。 – 2011-05-25 14:40:43
- 1. 爲什麼使用RavenDB和NServiceBus
- 2. NServiceBus,WCF架構
- 3. NServiceBus和wcf ServiceHost
- 4. NServiceBus和WCF
- 5. WCF:爲什麼要使用System.ServiceModel.Channels.Message類?
- 6. WCF netTcpBinding:爲什麼我不能調試,爲什麼不穩定?
- 7. 爲什麼NServiceBus ForwardRecievedMessagesTo和使用它的性能影響是什麼?
- 8. 爲什麼我必須使用WCF而不是Web服務?
- 9. WCF SOAP webservice - 爲什麼我不需要使用XML?
- 10. WCF/Silverlight:爲什麼要使用ChannelFactory而不是客戶端?
- 11. NServiceBus與WCF在Azure上
- 12. Async WCF與NServiceBus的集成
- 13. 爲什麼WCF有SignalR?
- 14. WCF + N-tier =爲什麼?
- 15. WCF - 爲什麼沒有WSDL
- 16. 爲什麼WCF Windows認證?
- 17. 爲什麼[WCF]有接口
- 18. 爲什麼wcf duplex需要?
- 19. 爲什麼我需要使用WCF來使用MSMQ?
- 20. 爲什麼不使用XMLHttpRequest?
- 21. 爲什麼不使用「@ messages」?
- 22. 爲什麼不使用PHP?
- 23. 爲什麼不使用Html.EditorForModel()
- 24. 爲什麼WCF用於Intranet服務?
- 25. 有什麼不對的WCF
- 26. 爲什麼Silverlight 4爲實體框架使用WCF RIA服務?
- 27. 爲什麼我們不能在WCF中使用抽象類而不是接口?
- 28. 與NServiceBus一起使用MemoryCache - 最好的方法是什麼?
- 29. 當我使用NServiceBus訂閱消息時會發生什麼?
- 30. 爲什麼不推薦使用window.showModalDialog?代替使用什麼?
這是他們做出的選擇。 – 2011-05-16 13:22:26
@DanielAWhite是正確的,[這裏是一些更多的信息](http://www.nservicebus.com/Msmq.aspx)NServiceBus的歷史 – 2011-05-16 13:40:15