程序员人生 网站导航

WCF 之 消息交换模式

栏目:综合技术时间:2015-07-27 08:37:52
        消息交换模式(Message Exchange Pattern:MEP)在SOA中是1个重要的概念。MEP定义了参与者进行消息交换的模板,这是1个很抽象的定义。实际上我们可以这样理解MEP:消息交换模式(MEP)代表1系列的模板,它们定义了消息的发送者和接收者相互进行消息传输的次序。消息交换模式包括:数据报模式(Datagram)、要求/回复模式(Request/Reply)和双工模式(Duplex)。


1.数据报模式(Datagram)
        数据报模式是最简单的消息交换模式,又称为发送/遗忘(Send/Forget)或单向模式(One-way)。数据报模式基于从1个源到1个或多个目的地的单向消息传输。在数据报模式下,消息的发送方将消息发送到接收方,其实不希望收到对方的回复。
                                    
 
2.要求/回复模式(Request/Reply)
        要求/回复模式是使用得最多的1种模式。在这类模式下,消息发送方将消息发送给接收方后会等待对方的回复。要求/回复模式1般采取同步的通讯模式。
                                    

3.双工模式(Duplex)
        如果采取双工的消息交换模式,在进行消息交换进程中,任何1方都可以向对方发送消息。双工通讯使服务端回调客户端操作成为可能。我熟习的定阅/发布模式就是比较典型的双工通讯。定阅/发布模式下的消息交换双方的角色从传统的发送方和接收方变成定阅方和发布方。定阅方向发布方发送对某1主题的定阅要求,发布方接收到定阅消息后将定阅方添加到定阅列表中。主题发布的时候,发布方提取当前主题的所有定阅方,对它们进行消息广播。
                                    



        消息的交换依赖于网络传递,不同的网络传输协议对双工通讯具有不同的支持方式。对TCP来讲,其协议本身就是全双工的网络通讯协议,所以能够提供双工通讯原生的支持。但是对HTTP来讲,它本身就是简单的基于要求/回复的网络协议,是不支持双工通讯的。WCF通过WsFualHttpBinding实现了基于HTTP的双工通讯,实际上是采取两个HTTP通道实现。





------分隔线----------------------------
------分隔线----------------------------

最新技术推荐