C# · Intermediário · Inglês · Técnico
HttpClientFactory
Fábrica do .NET (IHttpClientFactory) que gerencia o ciclo de vida dos handlers de HttpClient, reaproveitando conexões, renovando DNS e permitindo clientes nomeados ou tipados.
Onde usar
Aparece em code reviews quando alguém faz new HttpClient() a cada requisição, o que esgota sockets, ou mantém um estático que ignora mudanças de DNS. Registre com AddHttpClient e injete o cliente tipado.
Em código
builder.Services.AddHttpClient<Cliente>(c =>
c.BaseAddress = new Uri("https://x.dev"));
class Cliente(HttpClient http)
{
public Task<string> Raiz()
=> http.GetStringAsync("/");
}Exemplos
Use HttpClientFactory instead of new HttpClient.
Use HttpClientFactory em vez de new HttpClient.
The typed client is registered through HttpClientFactory.
O cliente tipado é registrado pelo HttpClientFactory.
Cuidado
Não faça using new HttpClient() por chamada: o socket fica em TIME_WAIT e, sob carga, causa SocketException por falta de portas.
Sinônimos
IHttpClientFactory