提高WebRequest方法的并发限制

时间:2022-06-19
本文章向大家介绍提高WebRequest方法的并发限制,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在C#中,WebRequest方法和WebClient方法,在多线程时,对并发请求数量有一个默认限制,这个限制与操作系统相关,在Windows XP/Windows 7等PC系统上默认为2个,而在Windows 2008等服务器系统中,默认为10个,也就是说在出现高并发的环境中,使用WebRequest方法来进行POST或GET请求时,最多只能同时发送10个,剩下的都在排队。出现这个问题的原因是,在HTTP 1.0和HTTP 1.1规定最大连接数就是2,就一直延用到现在。 解决方法: 在程序中设置:

System.Net.ServicePointManager.DefaultConnectionLimit = 512;  //建议最高不要超过1024,具体看使用环境是否需要

或者在配置中设置:

<configuration>
    <system.net>
        <connectionManagement>
            <add address = "http://www.google.com" maxconnection = "512" ></add>
            <add address = "*" maxconnection = "512" ></add>
        </connectionManagement>
    </system.net>
</configuration>

以上。


本文作者:老徐 本文链接:https://bigger.ee/archives/31.html 转载时须注明出处及本声明