Aracılığıyla paylaş


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 bertaraf edilmesi için zamanlanmasından önce havuza alınabileceği süreyi yapılandırıyor.

her işleyici genellikle kendi temel HTTP bağlantılarını yönettiğinden işleyicilerin havuzalanması 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 gereksiniminin anlaşılmasıyla seçilmelidir.

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

Şunlara uygulanır