HttpClientFactoryOptions.HandlerLifetime Özellik

Tanım

Bir örneğin yeniden kullanılabilen sürenin uzunluğunu alır veya ayarlar HttpMessageHandler .Gets or sets the length of time that a HttpMessageHandler instance can be reused. Her bir adlandırılmış istemcinin kendi yapılandırılmış işleyici yaşam süresi değeri olabilir.Each named client can have its own configured handler lifetime value. Bu özelliğin varsayılan değeri iki dakikadır.The default value of this property is two minutes. Kullanım süresini, InfiniteTimeSpan işleyicinin süre sonunu devre dışı bırakacak şekilde ayarlayın.Set the lifetime to InfiniteTimeSpan to disable handler expiry.

public:
 property TimeSpan HandlerLifetime { TimeSpan get(); void set(TimeSpan value); };
public TimeSpan HandlerLifetime { get; set; }
member this.HandlerLifetime : TimeSpan with get, set
Public Property HandlerLifetime As TimeSpan

Özellik Değeri

TimeSpan

Açıklamalar

Varsayılan uygulamasının, IHttpClientFactory HttpMessageHandler kaynak tüketimini azaltmak için fabrika tarafından oluşturulan örnekleri havuza alacak.The default implementation of IHttpClientFactory will pool the HttpMessageHandler instances created by the factory to reduce resource consumption. Bu ayar, bir işleyicinin havuzdan ve aktiften çıkarılmadan kaldırılmak üzere zamanlanabileceği süreyi yapılandırır.This setting configures the amount of time a handler can be pooled before it is scheduled for removal from the pool and disposal.

Her işleyici genellikle kendi temel aldığı HTTP bağlantılarını yönettiğinden, işleyicilerin havuzlaması istenir; gerekenden daha fazla işleyici oluşturulması bağlantı gecikmeleri oluşmasına neden olabilir.Pooling of handlers is desirable as each handler typically manages its own underlying HTTP connections; creating more handlers than necessary can result in connection delays. Bazı işleyiciler Ayrıca, işleyicinin DNS değişikliklerine yeniden davranmasını engelleyebilen bağlantıları süresiz olarak açık tutar.Some handlers also keep connections open indefinitely which can prevent the handler from reacting to DNS changes. Değeri, HandlerLifetime uygulamanın ağ ortamındaki değişikliklere yanıt verme gereksinimini kavramak üzere seçilmelidir.The value of HandlerLifetime should be chosen with an understanding of the application's requirement to respond to changes in the network environment.

Bir işleyicinin süre sonu işleyiciyi hemen atmaz.Expiry of a handler will not immediately dispose the handler. Zaman aşımına uğradı bir işleyici, işleyicileri yalnızca ulaşılamaz olduklarında atmak için aralıklarda işlenen ayrı bir havuza yerleştirilir.An expired handler is placed in a separate pool which is processed at intervals to dispose handlers only when they become unreachable. Uzun süreli örneklerin kullanılması HttpClient , HttpMessageHandler tüm başvurular atık olarak toplanana kadar temel alınan aktiften çıkarılmasını engeller.Using long-lived HttpClient instances will prevent the underlying HttpMessageHandler from being disposed until all references are garbage-collected.

Şunlara uygulanır