複製鏈接
請複製以下鏈接發送給好友

MEP

(消息交換模式)

鎖定
消息交換模式(Message Exchange Pattern,簡稱MEP)是一個專用術語
中文名
消息交換模式
外文名
Message Exchange Pattern
別    名
MEP
性    質
專用術語
WCF客户端與服務器之間是通過消息進行通訊,有必要了解WCF的消息交換模式,以對消息的發送和接受有更直觀的理解。  
在WCF中,有三種消息交換模式:數據報模式、請求——響應模式、雙工模式。
1. 數據報模式(One—Way—Calls)
數據報模式指的是發送端負責把消息發送給對方,並且收到確認消息後,就完成交互的方式,在這種模式下,發送方唯一能確定的就是消息發送成功,而對於消息是否最終到達服務的終結點,是否被成功處理,發揮的結果如何等都一無所知。
數據報模式存在以下特點:
(1) 返回類型只能是void
(2)不能包含ref或者out類型的參數
(3)只有客户端發起請求,服務端並不會對請求進行回覆。
設置方法:[OperationContract(IsOneWay=true)] Void Test();
2. 請求—響應模式(Request/Reply)
在請求響應模式中,客户端發送一個消息並且接收一個返回消息來 完成一次交互。在該模式中,消息的發起端必然是客户端,並且從服務端返回只有一條消息。客户端在發送出消息後會阻止當前線程並且等待服務端返回消息。請求響應模式是缺省的消息交換模式,類似於Http協議中的請求/響應模型,這種消息交換模式是使用最多的一種。
具有如下特點:
(1) 調用服務方法後需要等待服務的消息返回;
(2) 在這種模式下,服務端永遠是服務端,客户端就是客户端,職責分明。
設置方法:[OperationContract] Void Test();
3. 雙工模式(Duplex)
在雙工模式中,客户端和服務端都可以任意地向對方發送消息,而對方也可以以任意的次序來接收消息。在這種模式下,發送端和接收端的概念變得不再適用,取而代之的是通信的兩個端點。
設置方法:
Public interface ICallBack
{
[OperationContract(IsOneWay=true)]
Void UpdataInterval(int seconds);
}
[ServiceContract(CallbackContract=typeof (ICallBack))]
Public interface Iservice1
{
[OperationContract]
Void Heartbeat();
}