Jazyk

HttpClientBuilderExtensions.SetHandlerLifetime Metoda

Definice

Nastaví dobu, po kterou HttpMessageHandler může být instance znovu použita. Každý pojmenovaný klient může mít svou vlastní nakonfigurovanou hodnotu životnosti obsluhy. Výchozí hodnota je dvě minuty. Nastavte životnost tak, aby InfiniteTimeSpan se zakázala vypršení platnosti obslužné rutiny.

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

Návraty

Poznámky

Výchozí implementace IHttpClientFactory bude s fondem HttpMessageHandler instancí vytvořených továrnou, aby se snížila spotřeba prostředků. Toto nastavení konfiguruje dobu, po kterou může být obslužná rutina seskutečněna, než bude naplánováno odebrání z fondu a odstranění.

Sdružování obslužných rutin je žádoucí, protože každá obslužná rutina obvykle spravuje vlastní základní připojení HTTP; vytváření více obslužných rutin, než je nutné, může vést ke zpoždění připojení. Některé obslužné rutiny také udržují připojení otevřená po neomezenou dobu, což může obslužné rutině zabránit v reakci na změny DNS. Hodnota handlerLifetime by měla být zvolena s pochopením požadavku aplikace na reakci na změny v síťovém prostředí.

Vypršení platnosti obslužné rutiny nebude okamžitě likvidovat obslužnou rutinu. Obslužná rutina s vypršenou platností je umístěna do samostatného fondu, který se zpracovává v intervalech, aby se obslužné rutiny vyřadily pouze tehdy, když jsou nedostupné. Použití dlouhodobých HttpClient instancí zabrání uvolnění podkladového objektu HttpMessageHandler , dokud nebudou všechny odkazy uvolněny z paměti.

Platí pro