zoukankan      html  css  js  c++  java
  • 【WCF--初入江湖】08 并发与实例模式

    08 并发与实例模式

    1. 实例上下文模式

         一个服务代理:servicePoxy

                ChannelFactory<IService1> factoryservicel =
                    new ChannelFactory<IService1>("BasicHttpBinding_Service");
                
                IService1 servicePoxy = factoryservice.CreateChannel();

    调用N次方法:

    servicePoxy.GetData(3);

    单调模式PerCall      :IService1的实现类生成N个

    会话(PerSession):IService1的实现类生成1个

    单例(Single)        :IService1的实现类生成1个

    进一步测试说明:

                                  

    单调模式PerCall      :IService1的实现类生成个数=所有方法被调用的次数的综合

    会话(PerSession):IService1的实现类生成个数=服务代理类实例对象个数

    单例(Single)        :IService1的实现类生成个数=永远是1个                            

      1.1 实例上下文模式--单调模式PerCall

        由于WCF的并发是针对某个封装了服务实例的InstanceContext而言的,
      但是对单调的实例上下文模式,WCF服务端运行时总是创建一个全新的InstanceContext来处理每一个请求,
      不管该请求是否来自相同的客户端。
    [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]   
    public class ServiceClass : IService1
    {   
    
    }

      1.2 实例上下文模式--会话(PerSession)

        在基于会话的实例上下文提供机制下,被创建出来封装服务实例的InstanceContext与会话(客户端或者服务代理)绑定在一起。
      也就是说,InstanceContext和服务代理是具有一一对应的关系。
    [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]   
    public class ServiceClass : IService1
    {   
    
    }

      1.3 实例上下文模式--单例(Single)

        单例上下文实例模式,是指所有的客户端共享同一个服务实例的InstanceContext。
    [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]   
    public class ServiceClass : IService1
    {   
    
    }

     2. 实例上下文模式--实例演示

  • 相关阅读:
    《激荡三十年》七、国企难破局—“裁缝神话”步鑫生
    《激荡三十年》六、个体户——“傻子”年广久
    《激荡三十年》五、乡镇企业的异军突起——鲁冠球
    《激荡三十年》四、改革第一将—“老板”袁庚
    《激荡三十年》三、改革开放伊始、邓公开国门
    《激荡三十年》二、改革开放前的中国(下)
    《激荡三十年》一、改革开放前的中国(上)
    shell编程之sleep的运用
    shell编程之数组和关联数组
    shell编程之重定向
  • 原文地址:https://www.cnblogs.com/easy5weikai/p/3825363.html
Copyright © 2011-2022 走看看