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