HttpClientBuilderExtensions.SetHandlerLifetime Methode

Definitie

Hiermee stelt u de tijdsduur in die een HttpMessageHandler exemplaar opnieuw kan worden gebruikt. Elke benoemde client kan een eigen geconfigureerde handler-levensduurwaarde hebben. De standaardwaarde is twee minuten. Stel de levensduur in om de verlooptijd van de handler uit te InfiniteTimeSpan schakelen.

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

Parameters

handlerLifetime
TimeSpan

Retouren

Opmerkingen

Met de standaard implementatie worden IHttpClientFactory de HttpMessageHandler exemplaren gegroepeerd die door de fabriek zijn gemaakt om het resourceverbruik te verminderen. Met deze instelling configureert u de hoeveelheid tijd die een handler kan worden gegroepeerd voordat deze wordt gepland voor verwijdering uit de pool en verwijdering.

Pooling van handlers is wenselijk omdat elke handler doorgaans zijn eigen onderliggende HTTP-verbindingen beheert; het maken van meer handlers dan nodig is, kan leiden tot verbindingsvertragingen. Sommige handlers houden verbindingen ook voor onbepaalde tijd open, waardoor de handler niet kan reageren op DNS-wijzigingen. De waarde van moet worden gekozen met een goed begrip van de vereiste van handlerLifetime de toepassing om te reageren op wijzigingen in de netwerkomgeving.

Het verlopen van een handler zal de handler niet onmiddellijk verwijderen. Een verlopen handler wordt in een afzonderlijke pool geplaatst die met intervallen wordt verwerkt om handlers alleen te verwijderen wanneer ze onbereikbaar worden. Als u langlopende HttpClient exemplaren gebruikt, wordt voorkomen dat de onderliggende HttpMessageHandler exemplaren worden verwijderd totdat alle verwijzingen garbagecollection zijn.

Van toepassing op