2012-11-16 23 views

回答

7

他們是非常不同的綁定(即使他們在MsmqBindingBase共享大量的實施基地)和NetMsmqBinding只能與其他.NET WCF客戶端使用。 MsmqIntegrationBinding是打算用來當你的應用程序必須與使用MSMQ通信較早的應用程序(在任何語言)互操作,從MSDN:

這種結合[MsmqIntegrationBinding]可以使WCF應用程序發送和接收消息傳入和傳出使用COM的現有MSMQ應用程序,本機C++ API或System.Messaging命名空間中定義的類型。這些綁定之間

最明顯的差異在什麼總結MsmqIntegrationBinding缺乏的:

  • 安全的支持是非常微不足道的(怎麼樣安檢通道?)。
  • Contracts接口更受限制(因爲它必須與非.NET應用程序互操作)。
  • 地址的語法與其他WCF綁定不同(在MSDN的示例中查看EndpointAddress)。
  • 您不能使用所有消息的功能(例如編碼)。

有關這方面的更多詳細信息看看這個博客文章關於MsmqIntegrationBinding in WCF

那麼何時使用它們?我認爲任何新的WCF應用程序應始終使用NetMsmqBinding,並保留MsmqIntegrationBinding僅用於與現有應用程序的兼容性。從MSDN:

的NetMsmqBinding結合提供了對通過使用消息隊列(MSMQ)作爲傳輸排隊和使對鬆散耦合的應用,故障隔離,負載平衡和斷開連接的操作的支持。

相關問題