HttpClientFactoryOptions.HandlerLifetime 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置可以重复使用实例的时间 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 被释放,直到所有引用被垃圾回收。