zoukankan      html  css  js  c++  java
  • WCF入门(四)——会话与实例

    会话是两个终结点之间消息交换的一种相互关系;实例化是服务对象的生存期控制。

    (一)会话

    会话由服务契约的SessionMode属性指定,SessionMode属性用于是否允许,禁止和要求会话状态,它有三种设定:

    Allowed 如果绑定支持会话,则契约支持会话

    Required 要求绑定支持会话,否则引发异常

    NotAllowed 指定契约不支持启动会话的绑定

    如果服务支持会话,则可以通过实例创建模式属性指定服务契约实例与会话之间的关系。

     

    (二)实例

    ServiceBehavior属性的InstanceContextMode属性用来指定服务如何创建。系统默认为PerSession,客户端与wcf服务在建立通话时,创建新对象,然后,在相同会话中使用同一对象。

    WCF有三种对象创建模式:

    PerSesson,为每个会话创建一个新的实例对象(默认),用于所有调用

    PerCall,为服务的每个调用创建一个实例,调用完成后,回收。

    Single,创建一个实例对象,用于所有的传入,且在调用后不回收。

     

    实例模式

    要求会话状态

    允许的

    禁止会话

    PerCall

    每个调用都具有一个会话和一个实例;如果无会话通道的行为,将引发异常

    每个调用都具有一个会话和实例;如果无会话通道的行为,每个调用都具有一个实例

    会话通道的行为将引发异常;无会话通道的行为,每个调用都具有一个实例

    PerSession

    每个通道都具有一个会话和实例;如果无会话通道的行为,将引发异常

    每个通道都具有一个会话和实例;如果无会话通道的行为,则每个调用都具有一个实例

    会话通道的行为将引发异常;无会话通道的行为,每个调用都具有一个实例

    Single

    所有的调用只有一个会话和一个实例;如果无会话通道的行为,将引发异常

    每个创建的实例或用户指定的单一实例都具有一个会话和实例;如果无会话通道的行为则每个创建的单一实例或用户指定的单一实例都具有一个实例

    会话通道的行为将引发异常;无会话通道的行为每个创建的单一实例或用户指定的单一实例都具有一个实例

     

     未完

  • 相关阅读:
    mysql那些事(1)手机号与座机号码如何存储
    分享一个PHP调用RestFul接口的函数
    php sprintf用法
    HTTP状态码详解
    PHP随机生成中国人姓名的类
    PHP计算两组经纬度坐标之间的距离
    PHP根据经纬度获取在范围坐标的数据
    PHP 利用QQ邮箱发送邮件「PHPMailer」
    PHP中利用PHPMailer配合QQ邮箱实现发邮件
    修改PHP上传文件大小限制
  • 原文地址:https://www.cnblogs.com/jams742003/p/1686222.html
Copyright © 2011-2022 走看看