从HttpClientFactory创建的缓存HttpClient是否存在DNS更新问题?

时间:2019-03-08 00:02:36

标签: .net-core dotnet-httpclient httpclientfactory

thread询问是否应缓存HttpClientFactory创建的HttpClient。我认为答案是否定的,因为每个HttpClientFactory都将存在HttpClientHandler池。

但是我的问题是,如果将其缓存并重用,会发生什么。它仍然存在DNS更新问题吗?

根据Steve Gordon's An Introduction to HttpClientFactory

  

任何依赖原始处理程序链的客户端都可以继续使用它,而不会出现任何问题。

我认为这意味着即使在2分钟之后,缓存的HttpClient仍将继续使用相同的HttpClientHandler,并且不会进行DNS更新。在这种情况下,不应缓存HttpClient,而应始终使用HttpClientFactory.CreateClient。

ASP.NET Core doc只是说它不需要保留一个实例,但是并不能告诉结果是否保留了一个实例。

  

在IHttpClientFactory建立之前,通常使用一个长期的单个HttpClient实例。迁移到IHttpClientFactory后,该模式就不再需要。

0 个答案:

没有答案