msmqIntegrationBinding 绑定用来在一个WCF应用程序和一个直接利用MSMQ的应用程序间通信-比如,使用System.Messaging.这允许开发人员利用WCF同时也使 用他们已有的MSMQ应用程序。msmqIntegrationBinding绑定允许MSMQ消息映射到WCF消息。这通过在MsmqMessage类 中对MSMQ消息包装来实现的。类位于System.ServiceModel.MsmqIntegration命名空间里。实例可以使用单向契约被发送 或接收。
下面的代码显示了msmqIntegrationBinding绑定的地址格式:
msmq.formaname:{MSMQ format name}
MSMQ地址格式不需要端口来确定。然后,MSMQ需要打开特定端口,比如1801.表4.12显示了msmqIntegrationBinding绑定的可以配置的属性。
表4.12 msmqIntegrationBinding绑定属性
![](https://pic002.cnblogs.com/images/2010/157655/2010112816370233.jpg)
![](https://pic002.cnblogs.com/images/2010/157655/2010112816371424.jpg)
列表4.30 显示了使用msmqIntegrationBinding绑定暴露一个服务的最小配置
列表4.30 msmqIntegrationBinding 宿主配置
01 | <?xml version= "1.0" encoding= "utf-8" ?> |
05 | <service name= "EssentialWCF.StockQuoteRequestService" > |
06 | <endpoint address= "msmq.formatname:DIRECT=OS:.\private$\stockquoteresponse" |
07 | binding= "msmqIntegrationBinding" |
08 | contract= "EssentialWCF.IStockQuoteRequest" /> |
11 | </system.serviceModel></configuration> |
调用由msmqIntegrationBinding绑定生成的服务的最小配置在列表4.31中显示
列表4.31 msmqIntegrationBinding 客户端配置
01 | <?xml version= "1.0" encoding= "utf-8" ?> |
05 | <service name= "EssentialWCF.HelloWorld" > |
06 | <endpoint address= "msmq.formatname:DIRECT=OS:.\private$\stockquoteresponse" binding= "msmqIntegrationBinding" |
07 | contract= "EssentialWCF.IStockQuoteRequestService" /> |
10 | </system.serviceModel></configuration> |
=======
转载自