HttpClientBuilderExtensions.SetHandlerLifetime Метод

Определение

Задает период времени, в течение которого экземпляр HttpMessageHandler может использоваться повторно. Для каждого именованного клиента можно задать собственное значение времени жизни обработчика. Значение по умолчанию — две минуты. Задайте время существования, чтобы 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 объекта до тех пор, пока все ссылки не собираются мусором.

Применяется к