C# 使用Polly refresh token恢复轻松';行不通
我真的需要一些帮助来理解我的重新授权政策有什么错 我的政策是这样的:C# 使用Polly refresh token恢复轻松';行不通,c#,polly,authorize,C#,Polly,Authorize,我真的需要一些帮助来理解我的重新授权政策有什么错 我的政策是这样的: var policy = Policy .HandleResult<HttpResponseMessage>(message => message.StatusCode == HttpStatusCode.Unauthorized) .RetryAsync(1, async (result, retryCount) => {
var policy = Policy
.HandleResult<HttpResponseMessage>(message => message.StatusCode == HttpStatusCode.Unauthorized)
.RetryAsync(1, async (result, retryCount) =>
{
await _authorizeService.RefreshAccessToken();
RestEaseClient.Token = _authorizeService.AccessToken;
});
public interface IRestEaseClient
{
[Header("X-Token")]
string Token { get; set; }
["root")]
Task SomeMethod();
.................
}
当令牌过期时,策略重试函数内的断点被命中,我成功接收新令牌,将其值设置为IRestEaseClient.token标头,但由于某些原因,重试请求使用旧标头值,我仍然得到401。在此之后的下一个请求将正常运行,无需401或点击重新授权策略代码。答案是HttpRequestMessage已由RestEase构建,RestEase现在已不存在。您可以随意更改RestEaseClient.Token,直到您再次调用SomeMethod来构造新的HttpRequestMessage为止,这不会有任何效果
查看此讨论了解详细信息请与我们分享消费者方面的信息。