HttpClientFactoryOptions.HandlerLifetime Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define o tempo que 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 desta propriedade é de dois minutos. Defina o tempo de vida para InfiniteTimeSpan desativar a expiração do handler.
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 de Propriedade
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.