This thread ask about if the HttpClient created by HttpClientFactory should be cached. I think the answer is no as each HttpClientFactory will existing pool of HttpClientHandler.
But my question is what happen if it is cached and reuse. Does it still have the DNS update problem?
According to Steve Gordon's An Introduction to HttpClientFactory,
Any clients depending on the original handler chain can continue using it without any issues.
I think it means the cached HttpClient will continue use the same HttpClientHandler even after the 2 mins and it won't do the DNS update. If that is the case, the HttpClient should not be cached and should use the HttpClientFactory.CreateClient all the time.
ASP.NET Core doc just says it does not need to keep a single instance, but it does not tell the consequence if a single instance is kept.
Keeping a single HttpClient instance alive for a long duration is a common pattern used before the inception of IHttpClientFactory. This pattern becomes unnecessary after migrating to IHttpClientFactory.