如何识别Polly中最终重试的完成(不是onRetry事件,而是实际执行和完成)?
我可以将重试计数与 onRetry 事件内的最大重试计数进行比较,但该事件只是重试的启动,而重试在等待时间内尚未发生。我想要做的是确定最终重试的结束,无论是成功还是失败。
我想要做的是确定最终重试的结束,无论是成功还是失败。
您可以使用 Polly'sExecuteAndCaptureAsync()代替.ExecuteAsync()。
ExecuteAndCaptureAsync()返回PolicyResult带有PolicyResult.Outcome == OutcomeType.Successful或 的对象OutcomeType.Failure(以及文档中涵盖的其他属性)。
如果坚持使用.ExecuteAsync()而不是ExecuteAndCaptureAsync(),则通过继续执行下一条语句来确定最终尝试的结束(成功时);或(失败时)通过策略重新抛出最终异常。 ExecuteAndCaptureAsync()只是这些行为的包装。