TCP Binary NetNamedPipeBinding <netNamedPipeBinding> 一个安全,可靠且经过优化的绑定,适用于WCF应用程序之间跨计算机的通信 IPC Binary MsmqIntegrationBinding <msmqIntegrationBinding> 一个绑定,适用于WCF应用程序和现有消息队列(也称为MSMQ)应用程序之间跨计算机的通信 MSMQ Binary NetMsmqBinding <netMsmqBinding netNamedPipeBinding √ √ 最佳 √ √ netMsmqBinding √ √ √ 更佳 √ netTcpPeerBinding √ 更佳 √ √ √ msmqIntegrationBinding
A comprehensive guide to using MsmqIntegrationBinding with MSMQ 3.0 in WCF http://blogs.conchango.com /simonevans/archive/2007/09/17/A-comprehensive-guide-to-using-MsmqIntegrationBinding-with-MSMQ-3.0-in-WCF.aspx
从输出结果来看,除了BasicHttpBinding、NetMsmqBinding和MsmqIntegrationBinding三种,其余的系统绑定均包含TransactionFlowBindingElement PrintTransactionFlowSupport(new NetMsmqBinding()); 22: PrintTransactionFlowSupport(new MsmqIntegrationBinding Yes NetNamedPipeBinding Yes NetMsmqBinding No MsmqIntegrationBinding No 由于BasicHttpBinding基于WS-I Basic Profile标准的绑定,而两个基于MSQM的绑定(NetMsmqBinding和MsmqIntegrationBinding
MsmqIntegrationBinding:从命名上我们可以看出,MsmqIntegrationBinding主要用于需要将我们的WCF Application和现有的基于MSMQ的Application MsmqIntegrationBinding实现了WCF Endpoint和某个Message Queue进行数据的通信,具体来说,就是实现了单一的向某个Message Queue 发送Message,
MsmqIntegrationBinding: 使用现有的消息队列系统进行跨机器通讯。如 MSMQ。 ------ 弱弱的分隔线 ----- OK,有了上面的基础,就让WCF风暴来的猛烈些吧。
System.ServiceModel.Channels.NamedPipeTransportBindingElement 除了上述的五种绑定类型,WCF中还定义了其他一些绑定,比如NetMsmqBinding、MsmqIntegrationBinding