ExpertiDict

C# · Intermediário · Inglês · Técnico

HttpClientFactory

/ˌeɪtʃ ti ti pi ˈklaɪənt ˈfæktri/substantivo

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

Veja também

Todos os termos de C#