2011-03-30 15 views
9

Al verificar System.Net.ServicePointManager.DefaultConnectionLimit en .Net 4 en mi depurador, veo números realmente altos. Veo 24 en una máquina y veo 48 en otra máquina.System.Net.ServicePointManager.DefaultConnectionLimit == 24 -> ¿ERROR?

Este es incluso el caso de un proyecto ASP.NET MVC 3 recién creado sin realizar ningún cambio de configuración en él. ¿Es esto un error? La documentación establece claramente que el valor predeterminado es 2:

El número máximo de conexiones simultáneas permitidas por un objeto ServicePoint . El valor por defecto es 2.

De http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit(v=VS.100).aspx

Los campos DefaultNonPersistentConnectionLimit y DefaultPersistentConnectionLimit son más realistas 4 y 2, respectivamente, pero el número DefaultConnectionLimit esta fuera de rango.

Respuesta

12

No es un error. Es propably 12 por CPU.

El valor proviene de <connectionManagement> en su Web.config o Machine.config. Si ninguno de los archivos contiene elementos, es probable que esté configurado por autoConfig=True, configuración en <processModel> element.

+3

Si descompilaste el v4.0 System.Web y observas el método 'SetAutoConfigLimits', verás que está configurado en 2 * # de CPU. En .NET 4.5 esto parece haber sido cambiado y el valor ahora se establece en Int32.MaxValue (0x7fffffff). –

+1

Eso debería haber sido 12 * # de CPU. –

+2

Kevin tiene toda la razón, con el framework 4.5 es de hecho Int32.MaxValue. Es 'en la clase System.Web.HttpRuntime. –

Cuestiones relacionadas