ConnectionManagementElement.MaxConnection和ServicePointManager.DefaultConnectionLimit

时间:2018-11-06 00:47:51

标签: c# asp.net servicepointmanager

我试图了解两个属性ConnectionManagementElement.MaxConnectionServicePointManager.DefaultConnectionLimit用于管理ASP.net应用程序的出站连接,并且如果其中一个较低的值会限制所有出站连接申请。

基于ServicePointManager的MSDN信息,DefaultConnectionLimit属性控制ServicePoint对象所允许的最大并发连接。它说初始值设置为2,除非它在服务器上运行,然后设置为10,但是仅将值的简单输出即为它的实际运行值2147483647。MS框架代码reference in the answer to this SO post支持该值。< / p>

如果未在web.config连接管理部分中定义值,则基于.Net CodeConnectionManagementElement.MaxConnection的默认值将被设置为每个唯一ip /域+端口1。 blog from MS在计算机配置中的autoConfig = true时,默认值为12 * #cores。在我的情况下,该值为48 = 12 *4。似乎没有一种方法可以获取config节所设置的属性的运行值,因此,我现在假设该值是由autoConfig确定它应该存在,并且没有其他东西可以覆盖它。

有了关于这两个属性的那些细节,它们似乎是完全独立的。但是,发布到asp.net forum的问题有一个答案,说配置部分设置只是现在设置ServicePointManager.DefaultConnectionLimit值的另一种方法。

ConnectionManagementElement.MaxConnection设置为true时,是否使用Web /计算机配置autoConfig

如果是这样,ConnectionManagementElement.MaxConnection是否在ServicePointManager.DefaultConnectionLimit处设置Application_Start()的值,是否等同于在global.asax中已定义的Application_Start()方法中将其设置为代码? / p>

如果没有,ConnectionManagementElement.MaxConnectionServicePointManager.DefaultConnectionLimit会根据发起网络请求的内容来控制不同的限制吗?

0 个答案:

没有答案