Этот поток спрашивает, следует ли кэшировать HttpClient, созданный HttpClientFactory.Я думаю, что ответ будет отрицательным, поскольку каждый HttpClientFactory будет иметь существующий пул HttpClientHandler.
Но мой вопрос заключается в том, что произойдет, если он будет кэширован и использован повторно.У него все еще есть проблема обновления DNS?
Согласно Введение Стива Гордона в HttpClientFactory ,
Любые клиенты, зависящие от исходной цепочки обработчиков, могут продолжать использоватьбез каких-либо проблем.
Я думаю, это означает, что кэшированный HttpClient продолжит использовать тот же HttpClientHandler даже через 2 минуты и не будет обновлять DNS.В этом случае HttpClient не должен кэшироваться и должен постоянно использовать HttpClientFactory.CreateClient.
Документ ASP.NET Core просто говорит, что ему не нужно хранить один экземпляр, но не сообщает о последствиях, если один экземпляр сохраняется.
Поддержание одного экземпляра HttpClient в течение долгого времени является распространенным шаблоном, который использовался до создания IHttpClientFactory.Этот шаблон становится ненужным после перехода на IHttpClientFactory.