C # HTTP-запрос максимальное количество одновременных подключений 40 - PullRequest
0 голосов
/ 20 марта 2019

Я хотел бы создать 1000 одновременных подключений http-клиентов к различным URL-адресам.Я использовал 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);

У меня есть 1000 URL-адресов в списке 'URL-адресов'.

Я вижу из фиддлера, что сначала он отправляет 40 запросов и ждет их.Затем новые запросы отправляются каждый раз при получении ответа на старый запрос.

Я пытался 'ServicePointManager.DefaultConnectionLimit = 20000;'а также с app.config с ниже

<system.net>
<connectionManagement>
    <add address="*" maxconnection="100" />
</connectionManagement>
</system.net>

И он не увеличивает более 40 одновременных запросов.

Любая подсказка о том, как выполнить как минимум 300 одновременных запросов.?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...