我想为不同的URL创建1000个并发的http客户端连接。 我用过async / await和waitall。
下面是我的代码
static async Task<String> AsyncSend(String url)
{
HttpClient httpClient = new HttpClient();
var request = await httpClient.GetAsync(url);
var responseStr = await request.Content.ReadAsStringAsync();
return responseStr;
}
List<Task> x = new List<Task>();
foreach (var url in URLs)
{
x.Add(AsyncSend(url));
}
await Task.WhenAll(x);
“ URL”列表中有1000个URL。
我从提琴手那里看到,起初它发送40个请求并等待它们。然后,只要收到旧请求响应,就会发送新请求。
我尝试了“ ServicePointManager.DefaultConnectionLimit = 20000;”以及下面的app.config
<system.net>
<connectionManagement>
<add address="*" maxconnection="100" />
</connectionManagement>
</system.net>
它不会增加40个以上的并发请求。
关于如何实现至少300个并发请求的任何线索。?