The current answers are a bit confusing and misleading, and they are missing some important DNS implications. I'll try to summarize where things stand clearly.
IDisposable
objects should ideally be disposed when you are done with them, especially those that own Named/shared OS resources. HttpClient
is no exception, since as Darrel Miller points out it allocates cancellation tokens, and request/response bodies can be unmanaged streams.Connection:close
header after DNS changes take place. Another possibility involves recycling the HttpClient
on the client side, either periodically or via some mechanism that learns about the DNS change. See https://github.com/dotnet/corefx/issues/11224 for more information (I suggest reading it carefully before blindly using the code suggested in the linked blog post).