• WCF可靠性会话之服务分流


    可靠性绘画答条件:

               (1)服务绑定支持可靠性绘画:特别是netTcpBinding、wsHttpBinding及wsDualHttpBinding.

                             wsDualHtttpBinding可靠性绘画始终都是可用的,不须要配置,然上面的其他两种须配置,以wsHttpBinding为例,配置如下:

                                             <wsHttpBinding>

                                                  <binding  name="mybinding" >

                                                        <reliablesession   enabled="true"  ordered="true" inactivityTimeout="00:10:00" />     <--最后一个属性表示提高闲置超时时间-->

                                                  </binding>

                                             </wshttpBinding>

                      当然你也可以使用定制绑定  <customBinding>(推荐)设置更丰富(详情百度!)

    ServiceThrottleBehavior提供了很多吞吐量控制的设置:

     (1)MaxConcurrentCalls: 限制并发请求(也就是同时向服务器发送请求的个数)– 缺省为16

     (2)MaxConcurrentInstances: 限制服务实例的数量(也就是服务端创建的服务实例的个数)– 缺省为int.MaxValue,该值一般大于等于maxConcurrentCalls;

     (3)MaxConcurrentSessions:限制活动会话数量,包括传输,可靠性与安全会话和应 用程序会话– 缺省10 

      <serviceThrottling maxConcurrentCalls="30" maxConcurrentInstances="2147483647" maxConcurrentSessions="30" />

    下面是完整配置:

       <system.ServiceModel>

            

            <wsHttpBinding>

                <binding  name="mybinding" >

                        <reliablesession   enabled="true"  ordered="true" inactivityTimeout="00:10:00" />     <--最后一个属性表示提高闲置超时时间-->

                </binding>

            </wshttpBinding>

            <services>

                    <service  name="Services.OneServices"  behaviorConfiguration="mybehavior">

                           <host>

                                <baseAddresses>

                                        <add  address="http://loacalhost:3333/mywcf"  />

                                </baseAddresses>

                           </host>

                           <endpoint  address=""   binding="wsHttpBinding"  Contract="Contracts.IOneContract"  bindingConfiguration="mybinding"></endpoint>

                           <endpoint  address="mex"  binding="mexHttpBinding" Contract="IMetadataExchange" />

                    </service>

            </services>

            <behaviors> 

                   <serviceBehaviors >

                          <behavior  name="mybehavior">

                                <serviceMetadata  HttpGetEnabled="true" />

                                  <serviceThrottling maxConcurrentCalls="30" maxConcurrentInstances="2147483647" maxConcurrentSessions="30" />

                          </behavior>

                   <serviceBehaviors>

            </behaviors>

       </system.ServiceModel>

  • 相关阅读:
    sp3485在rk3288上的应用
    wk2124 在 rk3288 上的适配与调试
    Android自定义View实现一个状态切换开关
    SQLite数据库入门
    Android如何动态申请应用权限?
    APK 如何实现应用热更新功能?
    Android 如何通过代码安装 APK?
    Android.mk 中如何拷贝任意文件
    Linux 下网络 IO 的多路复用
    Android hideSoftInputFromWindow 不能隐藏软键盘怎么办?
  • 原文地址:https://www.cnblogs.com/yingger/p/3750523.html
Copyright © 2020-2023  润新知