Чтобы повторно использовать открытые TCP-соединения с HttpClient вам нужно предоставить один экземпляр для всех запросов.
Это означает, что мы не можем просто создать экземпляр HttpClient с разными настройками (например, тайм-аут или заголовки).
Как мы можем совместно использовать соединения и использовать разные настройки одновременно? Это было очень просто, по сути, по умолчанию, с более HttpWebRequest инфраструктурой HttpWebRequest и WebClient.
Обратите внимание, что просто настройка HttpClient.Timeout перед выполнением запроса не является потокобезопасной и не будет работать в параллельном приложении (например, на веб-сайте ASP.NET).