2010-07-30 24 views
5

J'ai un processus client qui tente d'émettre plusieurs demandes simultanées à un serveur en utilisant 'BasicHttpBinding'. Le client tente d'envoyer 10 demandes simultanées ou plus au serveur, mais les journaux du serveur indiquent qu'un maximum de deux demandes simultanées sont en cours à un moment donné, ce qui ralentit évidemment le débit généré par le client. Il semble qu'il y ait une certaine limitation, du côté des clients. La configuration que nous avons fourni avec le fournisseur de services contient un comportement comme suit:Remplacer les connexions maximales du client Wcf, empêcher la limitation côté client

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

De plus, nous avons l'entrée de gestion de connexion suivante dans le client:

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

Alors, que dois-je besoin de faire afin d'empêcher la limitation sur le client afin qu'il puisse y avoir plus de 2 demandes simultanées max à un service WCF, merci

Répondre

3
System.Net.ServicePointManager.DefaultConnectionLimit = 100; 
Questions connexes