2010-07-30 25 views
5

'BasicHttpBinding' kullanarak bir sunucuya birden çok eşzamanlı istek yayınlamaya çalışan bir istemci işlemim var. İstemci, sunucuya 10 veya daha fazla eşzamanlı istek yayımlamayı deniyor, ancak sunucu günlükleri, herhangi bir anda en fazla yalnızca iki eşzamanlı isteğin sürdüğünü gösteriyor ve bu da istemcinin ürettiği baskıyı yavaşlatıyor. Görünüşe göre müşteri tarafında biraz daralma oluyor. aşağıdaki gibi biz servis sağlayıcı tarafından sağlanmış olan yapılandırma bir davranışı içerir:Wcf İstemci maksimum bağlantılarını geçersiz kıl, istemci tarafı daraltmayı önle

 <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> 

Ayrıca, istemci aşağıdaki bağlantı yönetimi girişi var: I Yani

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

ne Bir WCF hizmetine 2'den fazla eşzamanlı istek olabileceği için istemcide daraltmayı önlemek için yapmanız gerekenler,

cevap

3
System.Net.ServicePointManager.DefaultConnectionLimit = 100;