次の方法で共有


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 インスタンスが破棄されなくなります。

適用対象