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