wcf消息交换模式

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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值