Поделиться через


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 объект до тех пор, пока все ссылки не будут собраны в мусор.

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