В моем приложении NET.Framework есть проблема с HTTPCLient.
Я знаю, что HTTPClient должен быть одноэлементным, и мы должны повторно использовать его на всех этапах жизни нашего приложения. Но если мы используем прокси с ProxyHandler, для каждого ProxyHandler с прокси должен быть один экземпляр HttpClient. Итак, у меня более 30 000 HttpClient в моем проекте с прокси, я звоню из ConcurrentDictionary.
Когда я загружаю, мой httpclient генерирует много исключений, таких как WebException, TaskCancellationException. И это не ошибка прокси, как я знаю, потому что я ловлю ее в своем блоке исключений следующим образом:
catch (HttpRequestException)
{
//proxyError
}
catch (TaskCanceledException)
{
if (!cts.IsCancellationRequested)
{
//proxyError
}
else
{
throw;
}
Я не бросил CancellationToken самостоятельно.
Как лучше всего выполнять множество запросов со многими клиентами HttpClient?
Windows Server 2016, Core i7-8700, 32 ГБ ОЗУ. 100 Мб интернет ...
Спасибо.