WCF学习总结——WCF消息交换模式
2010-12-29 11:17
393 查看
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();
}
在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();
}
相关文章推荐
- WCF学习笔记之消息交换模式
- WCF的消息交换模式
- WCF面向服务应用程序系列之十八:消息交换模式(MEP)-回调操作
- 在对等网络中模拟WCF单工消息交换模式
- WCF 学习总结4 -- 用Duplex实现消息广播
- WCF 学习总结3 -- 实例模式
- WCF 学习总结5 -- 消息拦截实现用户名验证
- WCF消息交换模式之双工通讯(Duplex)
- WCF初探-3:WCF消息交换模式之单向模式
- WCF初探-4:WCF消息交换模式之请求与答复模式
- [WCF 学习笔记] 3. 消息交换
- WCF从理论到实践(7):消息交换模式
- WCF 消息交换模式
- WCF 学习总结4 -- 用Duplex实现消息广播
- WCF面向服务应用程序系列之十七:消息交换模式(MEP)-单向操作
- WCF入门(三)——消息交换模式
- WCF系列教程之消息交换模式之双工通讯(Duplex)
- 艾伟:WCF从理论到实践(7):消息交换模式
- WCF从理论到实践(7):消息交换模式
- WCF从理论到实践(7):消息交换模式 (转)