HttpClientBuilderExtensions.SetHandlerLifetime Metoda

Definicja

Określa czas ponownego HttpMessageHandler użycia wystąpienia. Każdy nazwany klient może mieć własną skonfigurowaną wartość okresu istnienia programu obsługi. Wartość domyślna to dwie minuty. Ustaw okres istnienia, aby InfiniteTimeSpan wyłączyć wygaśnięcie programu obsługi.

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 IHttpClientFactory klasy spowoduje utworzenie puli HttpMessageHandler wystąpień utworzonych przez fabrykę w celu zmniejszenia zużycia zasobów. To ustawienie umożliwia skonfigurowanie czasu, przez jaki program obsługi może zostać w puli przed zaplanowanym usunięciem z puli i usunięciem.

Buforowanie procedur obsługi jest pożądane, ponieważ każda procedura obsługi zwykle zarządza własnymi podstawowymi połączeniami HTTP; utworzenie większej liczby procedur obsługi niż to konieczne może spowodować opóźnienia połączeń. Niektóre programy obsługi utrzymują również połączenia otwarte na czas nieokreślony, co może uniemożliwić programowi obsługi reagowanie na zmiany DNS. Należy wybrać wartość handlerLifetime z zrozumieniem wymagania aplikacji, aby reagować na zmiany w środowisku sieciowym.

Wygaśnięcie programu obsługi nie spowoduje natychmiastowego usunięcia programu obsługi. Wygasła procedura obsługi jest umieszczana w oddzielnej puli, która jest przetwarzana w odstępach czasu w celu usuwania programów obsługi tylko wtedy, gdy staną się niedostępne. Korzystanie z długotrwałych HttpClient wystąpień zapobiega usuwaniu bazowych HttpMessageHandler do momentu, gdy wszystkie odwołania zostaną usunięte.

Dotyczy