HttpClientBuilderExtensions.SetHandlerLifetime Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- builder
- IHttpClientBuilder
- 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.