快捷搜索:

WCF面向服务应用程序系列之十六:消息交换模式

WCF的消息互换模式指Message Exchange Patterns,主要分为:哀求(Request)/应答(Reply)、单向(One Way)、双向(Duplex)或者回调(Callback);

本章主要先容哀求(Request)/应答(Reply)操作,哀求/应答操作是所有办事操作的缺省行径;经由过程查看WSDL描述,我们可以看到与消息的描述信息;该消息能够包孕哀求参数,返回数据,元素,或者返回的SOAP差错等。

在哀求/应答操作中,客户端以消息形式发出哀求,它会壅闭客户端直到收到应答消息。应答的默认超时价为1分钟,假如跨越这一光阴办事仍旧没有应答,客户端就会得到一个TimeOutException非常。哀求/应答与经典的客户端/办事端编程模型相似,返回的应答消息包括了返回的结果,或者它会将返回值转换为一样平常措施的返回值。此外,假如存在通信非常或办事端非常,代理在客户端抛出一个非常。除了NetPeerTcpBinding和NetMsmqBinding绑定,所有的绑定均支持哀求/应答操作。

哀求/应答的操作模式如下图:

下面我们经由过程一个DEMO来先容哀求/应答操作:

主要代码如下:

接口代码:

[ServiceContract(Namespace = "http://schemas.xinhaijulan.com/demos/RequestReply")]

public interface IHelloWCF

{

[OperationContract(Name = "GetMessageContract", Action = "urn:AcionInput", ReplyAction = "urn:ActionOutput")]

string GetMessage(string msg);

}

您可能还会对下面的文章感兴趣: