HttpClientBuilderExtensions.SetHandlerLifetime Método

Definição

Define o período de tempo durante o qual uma HttpMessageHandler instância pode ser reutilizada. Cada cliente nomeado pode ter seu próprio valor de vida útil do manipulador configurado. O valor padrão é dois minutos. Defina o tempo de vida para InfiniteTimeSpan desativar a expiração do handler.

public:
[System::Runtime::CompilerServices::Extension]
 static Microsoft::Extensions::DependencyInjection::IHttpClientBuilder ^ SetHandlerLifetime(Microsoft::Extensions::DependencyInjection::IHttpClientBuilder ^ builder, TimeSpan handlerLifetime);
public static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder SetHandlerLifetime(this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder, TimeSpan handlerLifetime);
static member SetHandlerLifetime : Microsoft.Extensions.DependencyInjection.IHttpClientBuilder * TimeSpan -> Microsoft.Extensions.DependencyInjection.IHttpClientBuilder
<Extension()>
Public Function SetHandlerLifetime (builder As IHttpClientBuilder, handlerLifetime As TimeSpan) As IHttpClientBuilder

Parâmetros

handlerLifetime
TimeSpan

Devoluções

Observações

A implementação padrão de IHttpClientFactory irá agrupar as HttpMessageHandler instâncias criadas pela fábrica para reduzir o consumo de recursos. Esta configuração define o tempo que um manipulador pode ser agrupado antes de ser agendado para remoção e eliminação.

O agrupamento de handlers é desejável, pois cada handler normalmente gere as suas próprias ligações HTTP subjacentes; Criar mais handlers do que o necessário pode resultar em atrasos na ligação. Alguns handlers também mantêm as ligações abertas indefinidamente, o que pode impedir que o handler reaja às alterações no DNS. O valor de handlerLifetime deve ser escolhido com a compreensão da necessidade da aplicação de responder a alterações no ambiente de rede.

A expiração de um manipulador não eliminará imediatamente o manipulador. Um manipulador expirado é colocado num pool separado que é processado a intervalos para descartar os manipuladores apenas quando estes se tornam inalcançáveis. Usar instâncias de longa duração HttpClient impedirá que o subjacente HttpMessageHandler seja descartado até que todas as referências sejam recolhidas no lixo.

Aplica-se a