Consultor Eletrônico



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>