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 vlastní nakonfigurovanou hodnotu životnosti obslužné rutiny. Výchozí hodnota je dvě minuty. Pokud chcete zakázat vypršení platnosti obslužné rutiny, nastavte životnost na hodnotu InfiniteTimeSpan .

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 bude sdružovat IHttpClientFactoryHttpMessageHandler instance vytvořené továrnou, aby se snížila spotřeba prostředků. Toto nastavení konfiguruje dobu, po kterou je možné obslužnou rutinu sdružovat, než se naplánuje 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 svá vlastní základní připojení HTTP; Vytvoř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 zabránit tomu, aby obslužná rutina reagovala na změny DNS. Hodnota handlerLifetime by měla být zvolena s pochopením požadavku aplikace reagovat na změny v síťovém prostředí.

Vypršení platnosti obslužné rutiny neodepíše obslužnou rutinu okamžitě. Obslužná rutina s vypršenou platností je umístěna do samostatného fondu, který se zpracovává v intervalech a odstraňuje obslužné rutiny pouze tehdy, když se stanou nedostupnými. Použití dlouhodobých HttpClient instancí zabrání odstranění podkladového objektu HttpMessageHandler , dokud nebudou všechny odkazy uvolněny.

Platí pro