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

적용 대상