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 인스턴스가 삭제되지 않습니다.

적용 대상