HttpClientFactoryOptions.HandlerLifetime 属性

定义

获取或设置可重复使用 HttpMessageHandler 实例的时间长度。 每个已命名的客户端都可自行配置处理程序生存期值。 此属性的默认值为 2 分钟。 将生存期设置为 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 ,直到对所有引用进行垃圾回收。

适用于