Freigeben über


HttpClientFactoryOptions.HandlerLifetime Eigenschaft

Definition

Ruft die Zeitspanne ab, in der eine HttpMessageHandler-Instanz wiederverwendet werden kann, oder legt diese fest. Für jeden benannten Client kann ein eigener Wert für die Lebensdauer des Handlers konfiguriert werden. Der Standardwert dieser Eigenschaft ist zwei Minuten. Legen Sie die Lebensdauer auf InfiniteTimeSpan fest, um das Ablaufen des Handlers zu deaktivieren.

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

Eigenschaftswert

Hinweise

Bei der Standardimplementierung von IHttpClientFactory werden die HttpMessageHandler von der Factory erstellten Instanzen zusammengefasst, um den Ressourcenverbrauch zu reduzieren. Mit dieser Einstellung wird die Zeitspanne konfiguriert, die ein Handler in einem Pool zusammengefasst werden kann, bevor die Entfernung aus dem Pool und die Entsorgung geplant wird.

Das Zusammenlegen von Handlern ist wünschenswert, da jeder Handler in der Regel über seine eigenen HTTP-Verbindungen verfügt. Das Erstellen von mehr Handlern als notwendig kann zu Verzögerungen bei der Verbindung führen. Einige Handler halten Verbindungen auch unbegrenzt offen, was verhindern kann, dass der Handler auf DNS-Änderungen reagiert. Der Wert von HandlerLifetime sollte mit einem Verständnis der Anforderungen der Anwendung ausgewählt werden, um auf Änderungen in der Netzwerkumgebung zu reagieren.

Beim Ablauf eines Handlers wird der Handler nicht sofort verworfen. Ein abgelaufener Handler wird in einem separaten Pool platziert, der in Intervallen verarbeitet wird, um Handler nur dann zu verwerfen, wenn sie nicht mehr erreichbar sind. Durch die Verwendung langlebiger HttpClient Instanzen wird verhindert, dass die zugrunde liegende HttpMessageHandler gelöscht wird, bis alle Verweise garbage-collection sind.

Gilt für: