我创建了一个使用Polly进行电子邮件重试的新代码/项目,我选择了最新的Polly Nuget软件包v7.2.1。但随后看来,我们还有其他使用较旧版本的Polly(v2.2.7)的项目,因此我为我的项目降级了软件包。
但是降级后,由于不再识别此类型而无法编译-“ AsyncRetryPolicy”。
我可以在旧版本的Polly上使用哪种替代类型?
我的代码:
private AsyncRetryPolicy<Response> CreatePollyPolicy(SendEmailMessageRequest request)
{
var policy = Policy.Handle<Exception>()
.OrResult<SendGrid.Response>(response => 500)
.WaitAndRetryAsync(
5, retryAttempt => TimeSpan.FromSeconds(10 * retryAttempt),
async (exception, timeSpan, retryCount, context) =>
{
await LogFailMessage(request);
}
);
return policy;
}
使用旧版本的Polly,由[WaitAndRetryAsync(...)
返回的策略类型为可能 RetryPolicy<Response>
。
[在许多开发环境中,如果将鼠标悬停在var
关键字或WaitAndRetryAsync(...)
上-或如果您在智能感知中检查了WaitAndRetryAsync(...)
的返回类型,它会告诉您该类型是什么。 >