关于WCF的InstanceContextMode,与会话相关-创新互联
并不是所有Binding支持会话(session)功能。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、网站空间、营销软件、网站建设、曲江网站维护、网站推广。比如basicHTTP就不支持session功能。
参考文章:
http://www.codeproject.com/Articles/86007/ways-to-do-WCF-instance-management-Per-call-Per
另外参考以下文字:
以下文字来自http://www.cnblogs.com/TivonStone/archive/2011/05/18/2050407.html
SessionMode:设置会话的模式(默认情况下是Allowed)
是客户端代理与服务器之间的会话模式,同样也有三种类型:Allowed-允许会话、NotAllowed-不允许会话、Required-要求会话(需要有支持会话的Binding支持,WsHttpBinding、NetTcpBinding等)
若要设计一个会话契约,我们建议使用Required 方式,而不是默认值Allowed。
SessionMode.Required值要求必须使用传输层会话,但应用层会话却不是必要的,如果服务终结点的绑定没有维持一个传输层会话,就不能为这样的服务契约配置SessionMode.Required。这一约束条件会在装载服务时进行验证。但是,我们仍然可以将服务配置为单调服务,服务实例会在每次客户端调用期间创建与销毁实例。只有当服务被配置为会话服务时,服务实例才会存活于整个客户端会话中。
InstanceContextMode:指定可用来处理包含在传入信息中的调用的服务实例数(默认情况下是PerSession)
为服务端实现服务契约类的实例模式,有三种类型,分别为:
PerCall-每次服务操作调用创建一次,调用完后进行销毁;
PerSession-同一个会话期间创建一次,客户端代理第一次操作(IsInitiating = true)调用创建,调用代理的Close方法销毁或者调用IsTerminating服务操作销毁;
Single-服务只会创建一次,服务开始时创建,服务完成时销毁
(顺便说一下,Session的支持是通过建立Sessionful Channel来实现的,但是并不是所有的Binding都支持Session,比如BasicHttpBinding就不支持Session)
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
分享标题:关于WCF的InstanceContextMode,与会话相关-创新互联
当前地址:http://azwzsj.com/article/ddeihg.html