替代旧的Polly软件包中的“ AsyncRetryPolicy”类型

问题描述 投票:0回答:1

我创建了一个使用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
1个回答
0
投票

使用旧版本的Polly,由[WaitAndRetryAsync(...)返回的策略类型为可能 RetryPolicy<Response>

[在许多开发环境中,如果将鼠标悬停在var关键字或WaitAndRetryAsync(...)上-或如果您在智能感知中检查了WaitAndRetryAsync(...)的返回类型,它会告诉您该类型是什么。 >

© www.soinside.com 2019 - 2024. All rights reserved.