.net core Polly IHttpClientFactory and handling 401';s(未经授权)

.net core Polly IHttpClientFactory and handling 401';s(未经授权),.net-core,fault-tolerance,polly,ihttpclientfactory,.net Core,Fault Tolerance,Polly,Ihttpclientfactory,我正在使用Polly和IHttpClientFactory来处理我的容错,它在.NET Core 3.1中的重试和断路器方面运行良好 我没有尝试处理任何401,我可以在控制器中执行,但是我找不到从启动时刷新令牌的方法 这是我的创业政策 IAsyncPolicy httpWaitAndRetryPolicy= Policy.HandleResult(r=>!r.IsSuccessStatusCode) .waitandretyasync(3,sleepDurationProvider:RetryA

我正在使用Polly和
IHttpClientFactory
来处理我的容错,它在.NET Core 3.1中的重试和断路器方面运行良好

我没有尝试处理任何401,我可以在控制器中执行,但是我找不到从启动时刷新令牌的方法

这是我的创业政策

IAsyncPolicy httpWaitAndRetryPolicy=
Policy.HandleResult(r=>!r.IsSuccessStatusCode)
.waitandretyasync(3,sleepDurationProvider:RetryAttenting=>TimeSpan.FromSeconds(RetryAttenting),
onRetry:(httpResponseMessage,span,retryCount,ctx)=>
{
if(httpResponseMessage.Result.StatusCode==System.Net.HttpStatusCode.Unauthorized)
{
穿胸术();
}
WriteLine($“重试({retryCount})…);
});
私有化
{
var x=0;
//做点什么
}
但正如您所期望的那样,这与实际控制器是分离的

要重新授权,我需要调用并获取一个带有所有凭据的端点的新令牌

然后我添加以下标题

\u httpClient.DefaultRequestHeaders.Authorization=newauthenticationheadervalue(“Bearer”,bearerToken.AccessToken);

但是从创业之初我该如何做到这一点呢?

你读过了吗?或者这是否回答了你的问题?