重置 Polly 重试次数

Reset Polly Retry count

我已经定义了一个 Polly 策略来在发生异常时执行重试。 政策定义为

policy = Policy.Handle<ReconnectException>().Retry(retryCount);

我用

调用我的方法
policy.Execute(()=>SendMessageWithRetryPolicy(message));

如何执行重置,以便如果我的 MaxRetryCount 设置为 5 并且消息已在第 3 步成功解除,我又要执行第 5 步?

提前致谢

您不需要通过 Polly 重试策略重置调用之间的重试计数。通过策略的每个单独执行都有权获得策略上配置的完整重试计数。

如果配置:

policy = Policy.Handle<ReconnectException>().Retry(retryCount); // where retryCount == 5

然后每次通过策略执行:

policy.Execute(()=>SendMessageWithRetryPolicy(message));

将有权进行 6 次尝试(1 次初始尝试 + 5 次重试)。如果第一次执行使用 3 次重试,下一次执行仍然有权进行 6 次尝试(1 次初始尝试 + 5 次重试)。