我试图并行运行多个线程,每个线程都旋转自己的RestSharp客户端,并且所有线程都连接到同一服务器,以使用RestSharp的DownloadData方法将结果下载到文件中。
尽管所有线程均已启动并并行调用客户端,但一次仅2个文件开始接收数据。当至少一个文件完成后,其他文件才开始增长,每次在给定时间最多受影响2个文件。
答案 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");