Compartilhar via


HttpClientFactoryOptions.HandlerLifetime Propriedade

Definição

Obtém ou define o período que uma instância de HttpMessageHandler pode ser reutilizada. Cada cliente nomeado pode ter o próprio valor de tempo de vida do manipulador configurado. O valor padrão dessa propriedade é dois minutos. Defina o tempo de vida como InfiniteTimeSpan para desabilitar a expiração do manipulador.

public:
 property TimeSpan HandlerLifetime { TimeSpan get(); void set(TimeSpan value); };
public TimeSpan HandlerLifetime { get; set; }
member this.HandlerLifetime : TimeSpan with get, set
Public Property HandlerLifetime As TimeSpan

Valor da propriedade

Comentários

A implementação padrão de IHttpClientFactory agrupará as HttpMessageHandler instâncias criadas pela fábrica para reduzir o consumo de recursos. Essa configuração configura a quantidade de tempo em que um manipulador pode ser agrupado antes de ser agendado para remoção do pool e descarte.

O pooling de manipuladores é interessante porque cada manipulador normalmente gerencia suas próprias conexões de HTTP subjacentes. Criar mais manipuladores do que o necessário pode resultar em atrasos de conexão. Alguns manipuladores também mantêm as conexões abertas indefinidamente, o que pode impedir que o manipulador reaja às alterações de DNS. O valor de HandlerLifetime deve ser escolhido com uma compreensão do requisito do aplicativo para responder às alterações no ambiente de rede.

A expiração de um manipulador não descartará imediatamente o manipulador. Um manipulador expirado é colocado em um pool separado que é processado em intervalos para descartar manipuladores somente quando eles se tornam inacessíveis. O uso de instâncias de HttpClient longa duração HttpMessageHandler impedirá que o subjacente seja descartado até que todas as referências sejam coletadas por lixo.

Aplica-se a