HttpClientFactoryOptions.HandlerLifetime Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.