HttpClientBuilderExtensions.SetHandlerLifetime Méthode

Définition

Définit la durée pendant laquelle une instance de HttpMessageHandler peut être réutilisée. Chaque client nommé peut avoir sa propre valeur de durée de vie de gestionnaire configurée. La valeur par défaut est de deux minutes. Définissez la durée de vie pour InfiniteTimeSpan désactiver l’expiration du gestionnaire.

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

Paramètres

handlerLifetime
TimeSpan

Retours

Remarques

L’implémentation par défaut de IHttpClientFactory will pool les HttpMessageHandler instances créées par la fabrique pour réduire la consommation des ressources. Ce paramètre configure la durée pendant laquelle un gestionnaire peut être mis en pool avant de planifier la suppression du pool et de l’élimination.

Le regroupement de gestionnaires est souhaitable, car chaque gestionnaire gère généralement ses propres connexions HTTP sous-jacentes ; la création de plus de gestionnaires que nécessaire peut entraîner des retards de connexion. Certains gestionnaires conservent également les connexions ouvertes indéfiniment, ce qui peut empêcher le gestionnaire de réagir aux modifications DNS. La valeur de handlerLifetime doit être choisie avec une compréhension de l’exigence de l’application pour répondre aux modifications apportées à l’environnement réseau.

L’expiration d’un gestionnaire ne supprime pas immédiatement le gestionnaire. Un gestionnaire expiré est placé dans un pool distinct qui est traité à intervalles pour supprimer les gestionnaires uniquement lorsqu’ils deviennent inaccessibles. L’utilisation d’instances de longue durée HttpClient empêche le sous-jacent HttpMessageHandler d’être supprimé jusqu’à ce que toutes les références soient collectées par la mémoire.

S’applique à