Kbase P175747: .NET application spawning many Web Service calls in separate threads is seeing only two of the calls
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/29/2010 |
|
Status: Verified
SYMPTOM(s):
.NET application spawning many Web Service calls in separate threads is seeing only two of the calls executing on the AppServer at one time
.NET application is using the Async threading model (i.e. BeginInvoke)
Only two Web Service calls into the AppServer execute at a time even if there are more available AppServer agents
FACT(s) (Environment):
Windows
OpenEdge 10.2x
OpenEdge Web Category: WebServices
OpenEdge Server Technology Category: AppServer
CAUSE:
W3C standards mandate that only 2 connections are allowed from a client machine to the same address
FIX:
Visual Studio and .NET enforce th2 W3C standard limit of 2 connections by default.
To override the default, set max connections in the configuration section of the app.config file. One strategy is to set the maximum number of connections equal to the total number of CPUs or Hyper-Threaded CPUs available. However, a common rule of thumb is to set the maximum number of connections to 12 times the number of CPUs across which the web service is distributed. Add the following to the app.config file within the tag:
<system.net>
<connectionManagement>
<add address="*" maxconnection="8"/>
</connectionManagement>
</system.net>