HttpClientBuilderExtensions.SetHandlerLifetime Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- builder
- IHttpClientBuilder
- 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.