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 sur InfiniteTimeSpan pour 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 regroupera les HttpMessageHandler instances créées par la fabrique pour réduire la consommation de ressources. Ce paramètre configure la durée pendant laquelle un gestionnaire peut être mis en pool avant qu’il soit planifié pour la suppression du pool et la suppression.

Le regroupement de gestionnaires est souhaitable, car chaque gestionnaire gère généralement ses propres connexions HTTP sous-jacentes : créer plus de gestionnaires que nécessaire peut entraîner des délais dans la 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 en comprenant les exigences de l’application pour répondre aux modifications apportées à l’environnement réseau.

L’expiration d’un gestionnaire ne le supprimera pas immédiatement. Un gestionnaire expiré est placé dans un pool distinct qui est traité à intervalles réguliers pour éliminer les gestionnaires uniquement lorsqu’ils deviennent inaccessibles. L’utilisation d’instances de longue durée HttpClient empêche la suppression du sous-jacent HttpMessageHandler tant que toutes les références ne sont pas collectées à la mémoire.

S’applique à