reliable

更新时间:2022-11-24 22:05:48 阅读: 评论:0


2022年11月24日发(作者:亲子课程)

说说WCF中的可信赖会话ReliableSession

⼏天前,有朋友在上问有关WCF中可信赖会话(ReliableSession)的问题。今天重新梳理⼀下,主要⽬就是真正的弄清楚可信赖会话的作

⽤,⽅法和现实意义。

正如那位的疑惑⼀样,很多做过WCF开发的朋友,也都对ReliableSession不太理解。查阅msdn,可以发现ReliableSession是

eModel命名空间下的⼀个类。主要的作⽤如下所述:

提供对可靠会话绑定元素属性的便捷访问,这些属性是在使⽤系统提供的绑定之⼀时提供的。

包括两个重要的属性(Property)成员:

vityTimeout

⽂档中的说明是:获取或设置服务在关闭之前保持⾮活动状态的时间间隔。

说⽩了⼀点呢,就是如果服务停留多长时间没有⼯作,那我们就关闭他(嘿嘿,有点像公司对待员⼯⼀样,偶尔休息⼀下⼦,不⼲活还

⾏,时间长了,⽼板会炒你鱿鱼的哦!)

d

⽂档中说明为:获取或设置⼀个值,该值指⽰消息传递是否必须保持与消息发送⼀致的顺序。

任何⼀⽅,⽆论是客户端发送请求消息(RequestMessage),还是服务端发送相应消息(ResponMessage)。发送出来的消息都有先后

次序,⽽接收⽅在接收这些消息的时候,有时候会出现错位的现象,有的消息可能后发先⾄,⽽有的可能先发后⾄,这就影响了通讯双⽅正

常的交互。产⽣这样现象的主要的原因有两点:

1)未使⽤可靠连接协议,使得在传输层中出现类似现象

2)虽然试⽤了可靠连接协议,但在发送端或者接收端的通道中(Channel)发送或者接收有顺序问题

tcp协议⽤于解决第⼀个问题,⽽ReliabelSession的Ordered正可以解决第⼆个问题。

在WCF的缺省绑定中,只有以下⼏种⽀持或者默认打开了ReliableSession的功能,他们为:

wsHttpBinding

wsDualHttpBinding

wsFederationHttpBinding

netTcpBinding

其中netTcpBinding,wsHttpBinding,wsFederationHttpBinding中的ReliableSession属性均是RelibaleSession的⼀个派⽣类型,名

为OptionRelibaleSession,也就是提供了可选的功能。相⽐ReliableSession,OptionReliableSession仅仅多了⼀个属性:Enabled,⽤

这个属性可以指⽰是否开启可信会话。true代表开启,fal的话就不开启了,那么对InActivityTimeout和Ordered的设置将⽆效。这⾥⾯

wsHttpBinding和wsFederationHttpBinding其实都继承⾃wsHttpBindingBa,所在在讨论ReliableSession的时候,这两个Binding表

现⼀致。⽽对与wsDualHttpBinding则默认的将ReliableSession属性的Ordered设置为了true.也就是说wsDualHttpBinding是缺省⽀持

可信会话的。⽽ReliableSession的InActivityTimeout默认情况是是10分钟。

本文发布于:2022-11-24 22:05:48,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/14533.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:reliable
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图