使命必达: 深入剖析WCF的可靠会话[共8篇]

作为一个通信基础平台,WCF必须保证通信的可靠性。由于消息交换是WCF采用的通信手段,通信可靠性的保障体现在确保消息的可靠传输。WCF本质上是一个消息处理框架,作为整个消息交换系统的两个终端,即发送端和接收端。换句话说,WCF仅仅负责对消息的发送和接收,一旦消息通过WCF的信道层进入了网络,就脱离了WCF的控制范围。但是,由于网络环境的限制,网络层不能百分之百地确保对消息的有效交付。如何克服中间环节的制约,确保从一端发送的消息能够被有效地交付给另一端,这就是可靠消息传输(Reliable
Messaging)需要解决的问题。WCF通过可靠会话(Reliable Sessions)实现了种种端到端(End to
End)的可靠消息传输。

【实例篇】

为了让读者对可靠会话的作用现有一个直观的认识,我们先来做一个很有意思的实例演示。这也是早年微软推广WCF技术频繁使用的案例:图片传输。在客户端,我们选择一张图片,并对它进行切片,最后通过调用WCF服务将每一个切片依次传输到服务端。服务端则按照切片被接收到的顺序重新组装成一张完整的图片。如果中间有任何一张切片丢失,服务端最终组装图片将不会完整;如果服务端切片接收的次序和发送顺序不一致,将会造成组装后的图片并不能还原其发送前的模样。在这里,我们充分利用了WCF中的可靠会话提供了可靠而有序的消息交付…
阅读全文

【概念篇】

WCF的可靠会话这涉及到WS中一个重要的概念——可靠消息传输(RM:Reliable

Messaging)。如果想对可靠会话有一个深入的认识,对可靠消息传输的了解是必须的。我们可以将一个通过WCF构建的分布式应用划分为两个部分,即客户端应用和服务端应用,它们之间的交互方式即采用某种MEP的消息交换。在这里,我们需要通过可靠消息传输机制确保从客户端应用(或者服务端应用)发送的消息能够成功地被服务端应用(或者客户端应用)接收。也就是说,可靠消息传输提供的是一种端到端的消息传输确保机制,而不管两个终端之间是否具有相应的中间结点(Intermediary),比如路由器、防火墙和代理之类…
阅读全文

【协议篇-上】

在WS-*大家庭中,WS-RM为可靠消息传输提供了一个一个规范,使互操作成为可能。在《协议篇》中,我们侧重对WS-RM的介绍。WS-
RM,为WS-Reliable
Messaging的简称,是WS-*大家庭的一个重要成员。和前面介绍的WS-Coordination和WS-AT一样,WS-RM的制定者是结构化信息标准促进组织(OASIS)。制定WS-RM的一个主要目的就是创建一个模块化的实现可靠详细传输(Reliable
Messaging)的机制。WS-RM定义了一种消息传输协议(Messaging
Protocol),以实现在可靠消息传输过程中对消息的识别、追踪和管理。并在此基础上,定义了SOAP绑定实现了互操作。到目前为止,WS-RM先后出了两个官方版本,即WS-RM
1.0和WS-RM 1.1… 阅读全文

【协议篇-下】

在《上篇》中,我们认识了从序列创建到终止过程中消息交换的大致流程。下篇将关注点聚焦到单个消息上,看看在整个基于序列的上下文中进行的,不同类型的消息具有怎样的结构… 阅读全文

【编程篇-上】

在《实例篇》给出的例子中,我们实际上是通过对终结点的绑定进行相应的配置让整个消息的交换过程在一个可靠会话中进行,进而实现可靠消息传输的目的。由于整个可靠会话的机制是完全在信道层实现的,而整个信道层的最终缔造者就是绑定,所以可靠会话编程是围绕着绑定进行的。本篇文章主要为你讲述基于绑定的可靠会话编程…
阅读全文

【编程篇-下】

整个可靠会话的机制是完全在信道层实现的,而整个信道层的最终缔造者就是绑定,所以可靠会话编程是围绕着绑定进行的。《上篇》对实现可靠会话的绑定元素已经如何使用系统绑定实现可靠会话进行了介绍,下篇将和你探讨WCF可靠会话编程模型余下两个主题:自定义绑定和对消息传递的强制约束…
阅读全文

【原理篇-上】

可靠会话的编程仅仅围绕着一个对象,那就是绑定。绑定在整个WCF架构模型具有重要的地位。WCF整个架构模型由两部分构成,即服务模型(Service
Model)层和信道(Channel)层,而绑定是信道层的缔造者,同时也是连接两个层次的纽带。对可靠会话的实现,是完全在信道层实现的。
绑定是由一系列绑定元素的有序组合,不同的保定元素具有各自的目的,而实现可靠会话的是一个叫做ReliableSessionBindingElement的绑定元素…
阅读全文

【原理篇-下】

上面一部分我们站在信道层的角度剖析了WCF为了实现可靠会话在信道层进行的一系列消息交换,或者说客户端和服务端的RS信道为了实现可靠消息传输所进行一轮又一轮的握手。这一切都是基于这样一个假设:两个RS信道均可以在适当的时机向对方发送消息,或者说两个RS信道之间是一个双工的通道。

如果我们站在传输层看待这个问题,该假设对于TCP传输是成立的,但是对于HTTP来说就有点问题了。HTTP本身就是一个基于请求|回复消息交换模式的应用层网络协议,并不能对双工通信提供支持。而WCF通过WSDualHttpBinding实现的双工通信机制和NetTcpBinding支持的双工通信具有本质的区别。

NetTcpBinding创建的传输通道就是一个双工的TCP连接,而WSDualHttpBinding创建的所谓的双工通道实际上是两个方向相反的HTTP连接。接下来我们主要讨论当我们采用基于HTTP绑定——WSHttpBinding(或者是
WS2007HttpBinding)和WSDualHttpBinding)时,实现可靠会话所进行的通信方式… 阅读全文

作者:蒋金楠
微信公众账号:大内老A
微博:www.weibo.com/artech
如果你想及时得到个人撰写文章以及著作的消息推送,或者想看看个人推荐的技术资料,可以扫描左边二维码(或者长按识别二维码)关注个人公众号(原来公众帐号蒋金楠的自媒体将会停用)。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文链接

时间: 2024-06-11 19:22:41

使命必达: 深入剖析WCF的可靠会话[共8篇]的相关文章

使命必达: 深入剖析WCF的可靠会话[原理揭秘篇](上)

本系列先后通过<实例篇>.<概念篇>.<协议篇>和<编程篇>对WCF的可靠会话进行了详细探讨.作为本系列的最后一片,我们将深入到WCF的可靠会话体系的最底层,对实现可靠会话的实现原理进行深入剖析.如果读者仔细阅读本系列博文,相信会使读者对可靠会话的理解提升到一定的高度. 从<编程篇>中,我们不难看出可靠会话的编程仅仅围绕着一个对象,那就是绑定.绑定在整个WCF架构模型具有重要的地位.WCF整个架构模型由两部分构成,即服务模型(Service Mo

使命必达: 深入剖析WCF的可靠会话[原理揭秘篇](下)

上面一部分我们站在信道层的角度剖析了WCF为了实现可靠会话在信道层进行的一系列消息交换,或者说客户端和服务端的RS信道为了实现可靠消息传输所进行一轮又一轮的握手.这一切都是基于这样一个假设:两个RS信道均可以在适当的时机向对方发送消息,或者说两个RS信道之间是一个双工的通道. 如果我们站在传输层看待这个问题,该假设对于TCP传输是成立的,但是对于HTTP来说就有点问题了.HTTP本身就是一个基于请求|回复消息交换模式的应用层网络协议,并不能对双工通信提供支持.而WCF通过WSDualHttpBi

使命必达: 深入剖析WCF的可靠会话[概念篇]

在<实例篇>中,我通过可靠会话成功地进行了美女图片的传输,相信大家在保了眼福之余,会对WCF的可靠会话的功用具有一个深刻的认识.实际上,这涉及到WS中一个重要的概念--可靠消息传输(RM:Reliable Messaging).如果想对可靠会话有一个深入的认识,对可靠消息传输的了解是必须的. 一.可靠消息传输(Reliable Messaging) 我们可以将一个通过WCF构建的分布式应用划分为两个部分,即客户端应用和服务端应用,它们之间的交互方式即采用某种MEP的消息交换.在这里,我们需要通

使命必达: 深入剖析WCF的可靠会话[实例篇](内含美女图片,定力差者慎入)

通过前面一系列的博文(<WCF 并发(Concurrency)的本质>.<并发中的同步>.<实践重于理论>.<并发与实例上下文模式>.<回调与并发>.<ConcurrencyMode.Multiple 模式下的WCF服务就一定是并发执行的吗[上篇]>.<ConcurrencyMode.Multiple 模式下的WCF服务就一定是并发执行的吗[下篇]>.<控制并发访问的三道屏障[上篇]>和<控制并发访问的三

使命必达: 深入剖析WCF的可靠会话[编程篇](下)

整个可靠会话的机制是完全在信道层实现的,而整个信道层的最终缔造者就是绑定,所以可靠会话编程是围绕着绑定进行的.<上篇>对实现可靠会话的绑定元素已经如何使用系统绑定实现可靠会话进行了介绍,下篇将和你探讨WCF可靠会话编程模型余下两个主题:自定义绑定和对消息传递的强制约束. 一.为自定义绑定的可靠会话进行设置 绑定是一系列绑定元素的有序组合,但是系统绑定为我们提供适应了某种典型通信环境的绑定元素组合方式,可以看成是"套餐".但是,如果套餐不符合您的胃口,你应该查看菜单点你喜欢的

使命必达: 深入剖析WCF的可靠会话[协议篇](上)

在<实例篇>中,我通过可靠会话实现了对图片的可靠.有序的传输:在<概念篇>中,我们对可靠消息涉及到的可靠消息传输(RM)的相关概念进行了讲述.在WS-*大家庭中,WS-RM为可靠消息传输提供了一个一个规范,使互操作成为可能.在<协议篇>中,我们侧重对WS-RM的介绍. WS-RM,为WS-Reliable Messaging的简称,是WS-*大家庭的一个重要成员.和前面介绍的WS-Coordination和WS-AT一样,WS-RM的制定者是结构化信息标准促进组织(OA

使命必达: 深入剖析WCF的可靠会话[协议篇](下)

在<上篇>中,我们认识了从序列创建到终止过程中消息交换的大致流程.接下来,我们进一步将关注点聚焦到单个小消息上,看看在整个基于序列的上下文中,不同类型的消息具有怎样的结构.首先从序列的创建开始. 一.CreateSequence 和CreateSequenceReponse 基于WS-RM的可靠消息传输从序列的创建开始.为了创建序列,RM源(RM Source)向RM目的地(RM Destination)发送一个主体包含CreateSequence元素的SOAP消息.CreateSequenc

一起谈.NET技术,使命必达:深入剖析WCF的可靠会话

作为一个通信基础平台,WCF必须保证通信的可靠性.由于消息交换是WCF采用的通信手段,通信可靠性的保障体现在确保消息的可靠传输.WCF本质上是一个消息处理框架,作为整个消息交换系统的两个终端,即发送端和接收端.换句话说,WCF仅仅负责对消息的发送和接收,一旦消息通过WCF的信道层进入了网络,就脱离了WCF的控制范围.但是,由于网络环境的限制,网络层不能百分之百地确保对消息的有效交付.如何克服中间环节的制约,确保从一端发送的消息能够被有效地交付给另一端,这就是可靠消息传输(Reliable Mes

使命必达--阿里云商用消息服务MNS初探

在2015杭州云栖大会上,阿里云飞天事业部资深总监李津发布了一款海量消息,使命必达的消息服务产品(http://www.aliyun.com/product/mns).该产品能够提供高效,可靠,安全,便捷,弹性扩展的消息服务:能够帮助我们轻松的构建松耦合,高并发的分布式系统:能够方便我们做跨域数据安全传输.目前,消息服务也是阿里云唯一商用消息产品,其服务稳定性和可靠性都有SLA保障.下面让我一起来详细了解一下这款产品.   架构优势带来海量,高可靠,高可用特性 在了解消息服务前,不得不提的是阿里