zoukankan      html  css  js  c++  java
  • 实例管理3()

          单例服务      

          当服务被配置为单例(Singleton)时,所有客户端都将独自连接相同的单个知名(Well-Known)实例,而不用考虑他们连接的是服务的哪一个终结点。单例服务的生存期是无限的,只有在关闭宿主时,才会被释放。创建宿主时,单例服务会被创建,并接只能被创建一次。

          本质上讲,单例实例是共享的,每个客户端都可以创建自己的代理指向它。

          单例服务的状态是同步的,因此与可伸缩性想背。对象是单例的意味着它包含了一些有价值的状态,开发这希望这项状态能够被多个客户端共享。当多个客户端连接单例服务时,需要处理并发性问题,这回降低系统的吞吐量、响应速度以及可用性,因此它不太适合于规模较大的系统。

          分布操作

          我们在处理订单时可能需要注意操作顺序。WCF允许指定契约操作为启动或终止会话的操作,可以使用OperationContract的IsInitiating和IsTerminating属性。

          实例停用

          每个服务实例都被托管在上下文中,会话实际要做的不仅是关联客户端消息,还有关联托管了服务的上下文。启动会话时,宿主会创建一个新的上下文。会话终止时,上下文也随之而终止。默认情况下,上下文的生命周期与发布的服务实例的生命周期相同。处于优化的目的,WCF提供了分离两种生命周期的选项,该选项允许WCF独立的停用实例,而不必依赖于它的上下文。实际上,WCF还允许不包含实例的上下文存在。控制上下文停用的最常见办法是通过OperationBehavior特性的ReleaseInstanceMode属性。      

          也可以通过实例上下文的ReleaseServiceInstance()方法实现显式停止。

          限流

          限流允许开发者限制客户端连接数以及服务的负荷,可以避免服务的最大化,以及分配与使用重要资源的最大化。

          可以通过配置文件实现。使用服务的behaviorConfiguration标签。

          在使用TCP和命名管道绑定时,我们也可以在绑定中为一个特定的终结点配置最大连接数。采用binding中的maxConnections属性。

  • 相关阅读:
    将当前日期转换成年-月- 日格式
    js修改title
    Window.open()方法参数详解总结(转)
    js(jQuery)获取时间的方法及常用时间类
    用express搭建一个简单的博客系统
    字符串、数组相互转换 对象转换为数组的方法
    多文件上传 input 的multiple 属性
    关于iframe的使用 以及自适应页面高度
    浏览器转换为兼容模式
    分类算法之随机森林
  • 原文地址:https://www.cnblogs.com/jyz/p/1445485.html
Copyright © 2011-2022 走看看