如何:与 WCF 终结点和消息队列应用程序交换消息
通过使用 MSMQ 集成绑定,可以将现有消息队列 (MSMQ) 应用程序与 Windows Communication Foundation (WCF) 应用程序进行集成,从而在 MSMQ 消息与 WCF 消息之间进行转换。利用这一功能,可以在 WCF 客户端调用 MSMQ 接收方应用程序,也可以在 MSMQ 发送方应用程序中调用 WCF 服务。
本节中,将说明如何将 MsmqIntegrationBinding 用于 (1) WCF 客户端和使用 System.Messaging 编写的 MSMQ 应用程序服务之间的排队通信,以及 (2) MSMQ 应用程序客户端和 WCF 服务之间的排队通信。
有关演示如何从 WCF 客户端调用 MSMQ 接收方应用程序的完整示例,请参见 Windows Communication Foundation to Message Queuing示例。
有关演示如何从 MSMQ 客户端调用 WCF 服务的完整示例,请参见Message Queuing to Windows Communication Foundation 示例。
创建从 MSMQ 客户端接收消息的 WCF 服务
定义一个接口,该接口为从 MSMQ 发送方应用程序接收排队消息的 WCF 服务定义服务协定,如下面的示例代码所示。
实现该接口,将 ServiceBehaviorAttribute 属性应用于该类,如下面示例代码所示。
创建一个配置文件,在该配置文件中指定 MsmqIntegrationBinding。
实例化一个 ServiceHost 对象,该对象使用所配置的绑定。
创建向 MSMQ 接收方应用程序发送消息的 WCF 客户端
定义一个接口,该接口为向 MSMQ 接收方发送排队消息的 WCF 客户端定义服务协定,如下面的示例代码所示。
定义一个客户端类,WCF 客户端使用该类来调用 MSMQ 接收方。
创建一个配置文件,在该配置文件中指定 MsmqIntegrationBinding 绑定的用法。
创建该客户端类的一个实例,并调用消息接收服务所定义的方法。