HttpClientBuilderExtensions.SetHandlerLifetime Yöntem

Tanım

Bir HttpMessageHandler örneğin yeniden kullanılabilmesi için gereken süreyi ayarlar. Adlandırılmış her istemcinin kendi yapılandırılmış işleyici yaşam süresi değeri olabilir. Varsayılan değer iki dakikadır. İşleyici süre sonunu devre dışı bırakmak için yaşam süresini InfiniteTimeSpan olarak ayarlayın.

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

Parametreler

handlerLifetime
TimeSpan

Döndürülenler

Açıklamalar

varsayılan uygulaması IHttpClientFactory , kaynak tüketimini azaltmak için fabrika tarafından oluşturulan örnekleri havuza HttpMessageHandler alır. Bu ayar, bir işleyicinin havuzdan kaldırılması ve atılması için zamanlanana kadar havuza alınabileceği süreyi yapılandırıyor.

İşleyicilerin havuzu, her işleyici genellikle kendi temel HTTP bağlantılarını yönettiğinden tercih edilir; gerektiğinden daha fazla işleyici oluşturmak bağlantı gecikmelerine neden olabilir. Bazı işleyiciler ayrıca bağlantıları süresiz olarak açık tutar ve bu da işleyicinin DNS değişikliklerine tepki vermesini engelleyebilir. değeri handlerLifetime , uygulamanın ağ ortamındaki değişikliklere yanıt verme gereksinimini anlayarak seçilmelidir.

İşleyicinin süre sonu işleyiciyi hemen atmayacak. Süresi dolan bir işleyici, yalnızca ulaşılamaz hale gelen işleyicileri atmak için aralıklarla işlenen ayrı bir havuza yerleştirilir. Uzun ömürlü HttpClient örneklerin kullanılması, tüm başvurular çöp olarak toplanana kadar temel alınanın HttpMessageHandler atılmasını engeller.

Şunlara uygulanır