【发布时间】:2018-11-27 11:00:24
【问题描述】:
所以,我在我的 Startup.cs 中使用服务集合注册了一个命名客户端:
services.AddHttpClient(someServiceName,
client => client.BaseAddress = baseAddress);
现在可以从我的服务提供商那里注入一个IHttpClientFactory。
使用这个IHttpClientFactory,我想出了一个客户端实例:
var client = httpClientFactory.CreateClient(someServiceName)
曾几何时,在处理HttpClient 实例时必须非常小心,因为它是rarely the right thing to do。
但是,现在我们有了HttpClientFactory,这还重要吗?这个client 是否应该/可以无忧处理?例如
using (var httpClient = httpClientFactory.CreateClient(someServiceName))
using (var response = await httpClient.PostAsync(somePath, someData))
{
var content = await response.Content.ReadAsAsync<SomeResponse>();
//...
}
【问题讨论】:
-
查看这篇文章,它解释了工厂如何处理客户stevejgordon.co.uk/introduction-to-httpclientfactory-aspnetcore
-
@Nkosi 是的,我读过。但是,我找到了一些看起来很像我的问题中最后一个 sn-p 的代码,我想知道是否需要修复它。
标签: .net-core dotnet-httpclient idisposable asp.net-core-2.1 httpclientfactory