增加DomainConfig属性

This commit is contained in:
陈国伟 2021-09-30 08:50:06 +08:00
parent 001c6dddf7
commit daef121bf2
2 changed files with 10 additions and 3 deletions

View File

@ -75,7 +75,7 @@ namespace FastGithub.Http
private void OnLifetimeHttpHandlerDeactivate(LifetimeHttpHandler lifetimeHttpHandler)
{
// 切换激活状态的记录的实例
var domainConfig = ((HttpClientHandler)lifetimeHttpHandler.InnerHandler!).DomainConfig;
var domainConfig = lifetimeHttpHandler.DomainConfig;
this.httpHandlerLazyCache[domainConfig] = this.CreateLifetimeHttpHandlerLazy(domainConfig);
this.httpHandlerCleaner.Add(lifetimeHttpHandler);
}

View File

@ -1,4 +1,5 @@
using System;
using FastGithub.Configuration;
using System;
using System.Net.Http;
using System.Threading;
@ -11,15 +12,21 @@ namespace FastGithub.Http
{
private readonly Timer timer;
/// <summary>
/// 获取域名配置
/// </summary>
public DomainConfig DomainConfig { get; }
/// <summary>
/// 具有生命周期的HttpHandler
/// </summary>
/// <param name="handler">HttpHandler</param>
/// <param name="lifeTime">拦截器的生命周期</param>
/// <param name="deactivateAction">失效回调</param>
public LifetimeHttpHandler(HttpMessageHandler handler, TimeSpan lifeTime, Action<LifetimeHttpHandler> deactivateAction)
public LifetimeHttpHandler(HttpClientHandler handler, TimeSpan lifeTime, Action<LifetimeHttpHandler> deactivateAction)
: base(handler)
{
this.DomainConfig = handler.DomainConfig;
this.timer = new Timer(this.OnTimerCallback, deactivateAction, lifeTime, Timeout.InfiniteTimeSpan);
}