HttpClientBuilderExtensions.SetHandlerLifetime メソッド

定義

HttpMessageHandler を再利用できる時間を設定します。 名前付きの各クライアントには、独自の構成済みハンドラーの有効期間の値を設定できます。 既定値は 2 分です。 ハンドラーの有効期限を無効にするには、有効期間を 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 が破棄されなくなります。

適用対象