[英]Why System.Net.ServicePoint.ConnectionLimit uses '7FFFFFFF' (Int32.MaxValue/2147483647) when a client connects to a service on 'localhost'?
[英]IIS ServicePoint ConnectionLimit always set to Int32.MaxValue
我有一个在IIS上运行的本地Web应用程序,该应用程序与AWS上部署的服务联系。
在针对AWS服务测试吞吐量时,我意识到我的本地Web应用程序不遵循通过以下代码在web.config中设置的ConnectionLimit值:
<system.net>
<connectionManagement>
<add address="*" maxconnection="48" />
</connectionManagement>
</system.net>
相反,以下代码始终返回int.MaxValue
@(ServicePointManager.FindServicePoint(new Uri("https://myawsservice/")).ConnectionLimit)
这似乎与我在这里阅读的内容相矛盾: http : //msdn.microsoft.com/zh-cn/library/ms998583.aspx#scalenetchapt17_topic14
maxconnection的增加使更多调用可以同时执行到远程Web服务。 此属性不会影响本地Web服务调用。 并发调用数量的增加导致用于进行远程调用的线程的利用率增加。
我希望Int32.MaxValue仅适用于本地Web服务。 我不认为我的AWS服务是本地的。
我错过了什么? 我是否误解了本地Web服务的定义?
在此先感谢您的帮助。 尼科
找到了问题。
如果在machine.config中将processModel autoConfig属性设置为“ true”,则无法使用web.config覆盖ConnectionLimit
<system.web>
<processModel autoConfig="true" />
...
</system.web>
如果要控制ConnectionLimit,请将其设置为“ false”,但在这种情况下,您可能需要查看autoConfig启用时设置的其他值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.