HttpClientBuilderExtensions.SetHandlerLifetime 方法

定義

設定可以重複使用 HttpMessageHandler 執行個體的時間長度。 每個具名用戶端都可以設定自己的處理常式存留期值。 預設值為兩分鐘。 將存留期設定成 InfiniteTimeSpan 以停用處理常式到期時間。

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

參數

handlerLifetime
TimeSpan

傳回

備註

的預設實作 IHttpClientFactory 會集區處理站所建立的 HttpMessageHandler 實例,以減少資源耗用量。 此設定會設定處理程式在排定從集區中移除和處置之前可集區處理的時間量。

處理常式的集合是需要的做法,因為每個處理常式通常會管理自己的基礎 HTTP 連線;建立比所需數目更多的處理常式可能會導致連線延遲。 有些處理程式也會無限期地保持連線開啟,以防止處理程式回應 DNS 變更。 應選擇的值 handlerLifetime ,以瞭解應用程式回應網路環境中變更的需求。

處理程式的到期日不會立即處置處理程式。 過期的處理程式會放在個別的集區中,此集區會依間隔處理,以便只在處理程式無法連線時處置處理程式。 使用長時間存留 HttpClient 的實例會防止基礎 HttpMessageHandler 遭到處置,直到所有參考都進行垃圾收集為止。

適用於