zoukankan      html  css  js  c++  java
  • WCF中的InstanceContextMode与SessionMode

    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)


    Artch的例子中http://www.cnblogs.com/artech/archive/2007/06/13/781216.html

    方便的理解:

  • 相关阅读:
    Ansible 简单使用
    修改Elasticsearch的settings
    Nginx ssl证书部署
    配置 Haproxy 防范 DDOS 攻击
    Sort命令使用
    Haproxy ssl 配置方式
    MySQL连接线程kill利器之pt-kill
    percona-toolkit工具包的安装和使用
    Centos7 禁止firewalld并使用iptables 作默认防火墙以及忘记root密码的处理方法
    pt-query-digest查询日志分析工具
  • 原文地址:https://www.cnblogs.com/TivonStone/p/2050407.html
Copyright © 2011-2022 走看看