HttpClientBuilderExtensions.SetHandlerLifetime Metódus

Definíció

A HttpMessageHandler példány újrafelhasználásának időtartamát állítja be. Minden megnevezett ügyfél saját konfigurált kezelői élettartam-értékkel rendelkezhet. Az alapértelmezett érték két perc. Állítsa be az élettartamot a InfiniteTimeSpan kezelő lejáratának letiltásához.

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

Paraméterek

handlerLifetime
TimeSpan

Válaszok

Megjegyzések

Az alapértelmezett implementáció IHttpClientFactory a HttpMessageHandler gyár által létrehozott példányokat egyesíti az erőforrás-felhasználás csökkentése érdekében. Ez a beállítás konfigurálja, hogy a kezelők mennyi ideig lehetnek készletezve, mielőtt a készletből és az ártalmatlanításból való eltávolításra ütemezték volna.

A kezelők készletezése kívánatos, mivel az egyes kezelők általában saját mögöttes HTTP-kapcsolatokat kezelnek; a szükségesnél több kezelő létrehozása kapcsolati késéseket eredményezhet. Egyes kezelők korlátlan ideig nyitva tartják a kapcsolatokat, ami megakadályozhatja, hogy a kezelő reagáljon a DNS-változásokra. Ennek értékét handlerLifetime úgy kell kiválasztani, hogy tisztában legyen az alkalmazás azon követelményével, hogy reagáljon a hálózati környezet változásaira.

A kezelő lejárata nem törli azonnal a kezelőt. A lejárt kezelők egy külön készletbe kerülnek, amelyet időközönként dolgoznak fel, hogy a kezelőket csak akkor szabadítsák fel, ha elérhetetlenné válnak. A hosszú élettartamú HttpClient példányok használata megakadályozza, hogy a mögöttes adatok HttpMessageHandler el legyenek távolítva, amíg az összes hivatkozás szemétgyűjtésre nem kerül.

A következőre érvényes: