HttpClientFactoryOptions.HandlerLifetime プロパティ

定義

HttpMessageHandler インスタンスを再利用できる時間を取得または設定します。 名前付きの各クライアントには、独自の構成済みハンドラーの有効期間の値を設定できます。 このプロパティの既定値は 2 分です。 ハンドラーの有効期限を無効にするには、有効期間を InfiniteTimeSpan に設定します。

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

プロパティ値

注釈

IHttpClientFactoryの既定の実装では、リソース消費を減らすためにファクトリによって作成されたHttpMessageHandler インスタンスがプールされます。 この設定では、ハンドラーをプールしてからプールから削除して破棄するようにスケジュールできる時間を構成します。

ハンドラーのプールは、各ハンドラーが通常、独自の基になる HTTP 接続を管理する場合に望ましいものです。必要以上に多くのハンドラーを作成すると、接続の遅延が発生する可能性があります。 また、一部のハンドラーは接続を無期限に開いたままにしておき、ハンドラーが DNS の変更に反応するのを防ぐことができます。 HandlerLifetimeの値は、ネットワーク環境の変化に対応するためのアプリケーションの要件を理解して選択する必要があります。

ハンドラーの有効期限はすぐには破棄されません。 期限切れのハンドラーは、到達不能になった場合にのみハンドラーを破棄するために間隔を置いて処理される別のプールに配置されます。 有効期間の長い HttpClient インスタンスを使用すると、すべての参照がガベージ コレクションされるまで、基になる HttpMessageHandler が破棄されなくなります。

適用対象