MsmqIntegrationBinding与NetMsmqBinding相对应

Per*_*eru 6 .net wcf

我知道我们可以将上述绑定用于MSMQ应用程序.

这可以被其他客户消费(除了.net)吗?

有什么不同...?一些实时例子会帮助我.

谢谢

Adr*_*tti 7

它们是非常不同的绑定(即使它们共享一个大的实现基础MsmqBindingBase),并且NetMsmqBinding只能与其他.NET WCF客户端一起使用.MsmqIntegrationBinding当您的应用程序必须与使用MSMQ进行通信的旧应用程序(使用任何语言)互操作时,可以使用MSDN:

此绑定[MsmqIntegrationBinding]可用于使WCF应用程序能够发送和接收使用COM,本机C++ API或System.Messaging命名空间中定义的类型的现有MSMQ应用程序的消息.

这些绑定之间最明显的差异可归纳为MsmqIntegrationBinding缺乏:

  • 安全支持非常简单(安全通道怎么样?).
  • Contracts接口更受限制(因为它必须与非.NET应用程序互操作).
  • 地址语法与其他WCF绑定不同(请EndpointAddress参阅MSDN中的示例).
  • 您不能使用所有消息的功能(例如编码).

有关这方面的更多详细信息,请查看有关WCF中MsmqIntegrationBinding的博客文章.

那么什么时候使用它们?我认为任何新的WCF应用程序都应该始终使用NetMsmqBinding,MsmqIntegrationBinding仅保留与现有应用程序的兼容性.来自MSDN:

NetMsmqBinding绑定通过使用消息队列(MSMQ)作为传输提供对排队的支持,并支持松散耦合的应用程序,故障隔离,负载均衡和断开连接的操作.