I have a client process which attempts to issue multiple concurrent requests to a server using 'BasicHttpBinding'. The client is attempting to issue 10 or more concurrent requests to the server, but the server logs indicate that a maximum of only 2 concurrent requests are ever in progress at any one time, which is then obviously slowing down the throughtput generated by the client. It appears that there is some throttling going on, on the client side. The config that we have been provided with by the service provider contains a behaviour as follows:
<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>
Also, we have the following connection management entry in the client:
<system.net>
<connectionManagement>
<add address="*" maxconnection="10" />
</connectionManagement>
</system.net>
So what do I need to do in order to prevent throttling to occur on the client so that there can be more than 2 max concurrent requests to a WCF service, thanks
System.Net.ServicePointManager.DefaultConnectionLimit = 100;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With