我在Asp.Net中编写了多线程应用程序,它做了大量的HttpRequests,有时在我看来,如果很多线程同时进行Http请求,我会得到更多的错误。我想知道是否有因为我在付费主机上托管这个应用程序,所以一次连接数量的默认限制,并且还想知道是否有任何限制,是否因为超出限制或者是否存在其他尝试发送请求失败的线程任何处理连接的内部系统,即。将它们关闭直到连接可用。
提前致谢!
答案 0 :(得分:1)
您可以在web.config中配置DefaultConnectionLimit
地址
<configuration>
<system.net>
<connectionManagement>
<add address="*" maxconnection="80"/>
</connectionManagement>
</system.net>
</configuration>
您还应该检查Web请求的超时。生成的异常是什么?
答案 1 :(得分:0)
AFAIK,HTTP 1.1服务器仅限于两个连接,其中1.0服务器仅限于四个连接。因此,您可以检查从asp.net应用程序发送到HTTP / 1.1 / 1.0服务器的未完成/正在处理请求的数量。
这可以通过ServicePointManager.DefaultConnectionLimit
= 5声明性地改变; (例如:5个未完成的联系)
此外,您还提到它是付费主机。如果是这种情况,则值得检查您的请求限制(如果有)与提供商。