wcf消息交换模式
2016-11-23 15:59
183 查看
wcf客户端调用服务端服务,使用soap message进行交互,这个消息交互过程称为消息交换(Message Exchange)。wcf支持3种不同的消息交换模式Message Exchange Pattern(MEP):(Request/Reply),Request/Forget(One-way)和Duplex。这些消息交换模式需要底层传输协议的支持,wcf使用以下4个传输协议:Http,TCP,Named Pipe,MSMQ。不同的协议对不同的消息交换模式的支持也不一样,所以在采用不同的消息交换模式时,需要选择合适的底层传输协议。
下面以HTTP和TCP协议对Duplex模式的支持进行说明。HTTP协议是应用层协议,它的主要特征是无连接和无状态,每一次http连接包括请求和回复,客户端发送请求到服务端,服务端处理完请求返回到客户端后,连接便关闭。新的http请求需要建立新的http连接。后一次连接无法获取前一次连接的状态。asp.net应用会在服务端保存连接状态来实现对session的支持,wcf则将session关联到某个实例上来实现session的管理。
所以wcf中绑定选择HTTP协议时,Duplex管道则是由两个Request/Reply Channel组成的。客户端调用服务端服务时,建立http连接。服务端返回结果给客户端时需要重新建立http连接。
TCP协议是传输层协议,它的主要特征是可靠连接。所以采用tcp协议时,天然支持Duplex消息交换模式,Client调用Service,Service回调Client使用的都是同一个连接、同一个管道。所以基于TCP的Duplex才是真正意义上的Duplex。
下面以HTTP和TCP协议对Duplex模式的支持进行说明。HTTP协议是应用层协议,它的主要特征是无连接和无状态,每一次http连接包括请求和回复,客户端发送请求到服务端,服务端处理完请求返回到客户端后,连接便关闭。新的http请求需要建立新的http连接。后一次连接无法获取前一次连接的状态。asp.net应用会在服务端保存连接状态来实现对session的支持,wcf则将session关联到某个实例上来实现session的管理。
所以wcf中绑定选择HTTP协议时,Duplex管道则是由两个Request/Reply Channel组成的。客户端调用服务端服务时,建立http连接。服务端返回结果给客户端时需要重新建立http连接。
TCP协议是传输层协议,它的主要特征是可靠连接。所以采用tcp协议时,天然支持Duplex消息交换模式,Client调用Service,Service回调Client使用的都是同一个连接、同一个管道。所以基于TCP的Duplex才是真正意义上的Duplex。
相关文章推荐
- WCF从理论到实践(7):消息交换模式
- 艾伟:WCF从理论到实践(7):消息交换模式
- WCF初探-4:WCF消息交换模式之请求与答复模式
- WCF入门(三)——消息交换模式
- WCF从理论到实践(7):消息交换模式
- WCF面向服务应用程序系列之十八:消息交换模式(MEP)-回调操作
- 【菜鸟学WCF】Wcf消息交换模式
- WCF初探-3:WCF消息交换模式之单向模式
- WCF消息交换模式之双工通讯(Duplex)
- WCF系列教程之消息交换模式之请求与答复模式(Request/Reply)
- WCF 消息交换模式
- WCF 消息交换模式 转
- WCF的消息交换模式
- WCF从理论到实践(7):消息交换模式
- WCF面向服务应用程序系列之十七:消息交换模式(MEP)-单向操作
- WCF从理论到实践(7):消息交换模式 (转)
- WCF的消息交换模式
- 在对等网络中模拟WCF单工消息交换模式
- WCF学习笔记之消息交换模式
- WCF 之 消息交换模式