2010-07-30 120 views
5

我有一个客户端进程,它尝试使用'BasicHttpBinding'向服务器发出多个并发请求。客户端正在尝试向服务器发出10个或更多的并发请求,但服务器日志表明每次最多只有2个并发请求正在进行,这显然会减慢客户端生成的吞吐量。看起来在客户端有一些节流。 ,我们已经由服务提供商提供的配置包括一个行为如下:覆盖Wcf客户端最大连接数,防止客户端遏制

 <basicHttpBinding> 
      <binding name="BasicHttpBinding_IService" closeTimeout="00:01:00" 
       openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="01:00:00" 
       allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
       maxBufferSize="2047483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2047483647" 
       messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
       useDefaultWebProxy="true"> 
       <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="1073741823" 
        maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
       <security mode="TransportCredentialOnly"> 
        <transport clientCredentialType="Windows" proxyCredentialType="None" 
         realm="" /> 
        <message clientCredentialType="UserName" algorithmSuite="Default" /> 
       </security> 
      </binding> 
     </basicHttpBinding> 

此外,我们在客户端下面的连接管理条目:

<system.net> 
    <connectionManagement> 
     <add address="*" maxconnection="10" /> 
    </connectionManagement> 
</system.net> 

那么做我需要这样做,以防止在客户端发生节流,以便可以有超过2个最大并发请求到WCF服务,谢谢

回答

3
System.Net.ServicePointManager.DefaultConnectionLimit = 100;