HttpClientBuilderExtensions.SetHandlerLifetime(IHttpClientBuilder, TimeSpan) Metoda

Definicja

Ustawia długość czasu, przez który HttpMessageHandler wystąpienie może być ponownie używane.Sets the length of time that a HttpMessageHandler instance can be reused. Każdy nazwany klient może mieć własną skonfigurowaną wartość okresu istnienia programu obsługi.Each named client can have its own configured handler lifetime value. Wartość domyślna to dwie minuty.The default value is two minutes. Ustaw okres istnienia w InfiniteTimeSpan celu wyłączenia procedury obsługi.Set the lifetime to InfiniteTimeSpan to disable handler expiry.

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

Parametry

handlerLifetime
TimeSpan

Zwraca

IHttpClientBuilder

Uwagi

Domyślna implementacja programu IHttpClientFactory spowoduje HttpMessageHandler utworzenie puli wystąpień utworzonych przez fabrykę w celu zmniejszenia zużycia zasobów.The default implementation of IHttpClientFactory will pool the HttpMessageHandler instances created by the factory to reduce resource consumption. To ustawienie określa czas, przez jaki program obsługi może być w puli, zanim zostanie zaplanowany do usunięcia z puli i usunięcia.This setting configures the amount of time a handler can be pooled before it is scheduled for removal from the pool and disposal.

Buforowanie programów obsługi jest pożądane, ponieważ każdy program obsługi zazwyczaj zarządza własnymi połączeniami HTTP; Utworzenie większej liczby programów obsługi niż to konieczne może skutkować opóźnieniami połączeń.Pooling of handlers is desirable as each handler typically manages its own underlying HTTP connections; creating more handlers than necessary can result in connection delays. Niektóre programy obsługi również przechowują otwarte nieokreślony czas, co może uniemożliwić programowi obsługi wprowadzanie zmian w systemie DNS.Some handlers also keep connections open indefinitely which can prevent the handler from reacting to DNS changes. Wartość handlerLifetime powinna być wybierana z uwzględnieniem wymagania aplikacji w celu reagowania na zmiany w środowisku sieciowym.The value of handlerLifetime should be chosen with an understanding of the application's requirement to respond to changes in the network environment.

Wygaśnięcie programu obsługi nie spowoduje natychmiastowego usunięcia procedury obsługi.Expiry of a handler will not immediately dispose the handler. Wygasła procedura obsługi jest umieszczana w oddzielnym puli, która jest przetwarzana w odstępach czasu do usuwania programów obsługi tylko wtedy, gdy stają się nieosiągalne.An expired handler is placed in a separate pool which is processed at intervals to dispose handlers only when they become unreachable. Użycie wystąpień o długim czasie długotrwałym HttpClient uniemożliwi usuwanie źródłowe, HttpMessageHandler dopóki wszystkie odwołania nie zostaną pobrane jako elementy bezużyteczne.Using long-lived HttpClient instances will prevent the underlying HttpMessageHandler from being disposed until all references are garbage-collected.

Dotyczy