HttpClientBuilderExtensions.SetHandlerLifetime メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
パラメーター
- builder
- IHttpClientBuilder
- handlerLifetime
- TimeSpan
戻り値
注釈
の既定の IHttpClientFactory 実装では、リソース消費を HttpMessageHandler 減らすためにファクトリによって作成されたインスタンスがプールされます。 この設定では、プールからの削除と破棄がスケジュールされるまでにハンドラーをプールできる時間を構成します。
通常各ハンドラーは基になる HTTP 接続を独自に管理しており、必要以上に多くのハンドラーを作成すると接続が遅延する可能性があるため、ハンドラーをプールするのは望ましい方法です。 また、一部のハンドラーでは、接続を無期限に開いたままにしておき、ハンドラーが DNS の変更に反応するのを防ぐことができます。 の値 handlerLifetime
は、ネットワーク環境の変化に対応するためのアプリケーションの要件を理解して選択する必要があります。
ハンドラーの有効期限はすぐには破棄されません。 期限切れのハンドラーは、到達不能になった場合にのみハンドラーを破棄するために間隔を置いて処理される別のプールに配置されます。 有効期間 HttpClient の長いインスタンスを使用すると、すべての参照がガベージ コレクションされるまで、基になる HttpMessageHandler インスタンスが破棄されなくなります。
適用対象
.NET