为什么RestSharp将与同一服务器的并发连接限制为2个?

时间:2019-04-25 21:02:27

标签: c# restsharp

我试图并行运行多个线程,每个线程都旋转自己的RestSharp客户端,并且所有线程都连接到同一服务器,以使用RestSharp的DownloadData方法将结果下载到文件中。

尽管所有线程均已启动并并行调用客户端,但一次仅2个文件开始接收数据。当至少一个文件完成后,其他文件才开始增长,每次在给定时间最多受影响2个文件。

1 个答案:

答案 0 :(得分:1)

我发现使用WebClient最多可以同时在同一服务器上建立2个默认的同时连接(请参见How can I programmatically remove the 2 connection limit in WebClient

我发现在那里的一种解决方案也可以与RestSharp一起使用,即设置System.Net.ServicePointManager.DefaultConnectionLimit。在下面的示例中,将其设置为10。只需在创建客户端之前确保已设置DefualtConnectionLimit:

System.Net.ServicePointManager.DefaultConnectionLimit = 10;
var Client = new RestClient("https://someURL");