Определить завершение последней попытки политикой повторных попыток Полли - PullRequest
0 голосов
/ 27 декабря 2018

Как определить завершение (не событие onRetry, а фактическое выполнение и завершение) последней попытки в Polly?

Я мог бы сравнить количество повторов с максимальным числом повторов внутри события onRetry, нособытие - это просто начало повторной попытки, которая еще должна произойти в течение времени ожидания.Что я хочу сделать, так это определить окончание последней попытки, будь то успех или неудача.

1 Ответ

0 голосов
/ 30 декабря 2018

То, что я хочу сделать, это определить окончание последней попытки, будь то успех или неудача.

Вы можете использовать ExecuteAndCaptureAsync() Полли на месте.ExecuteAsync().

ExecuteAndCaptureAsync() возвращает объект PolicyResult с PolicyResult.Outcome == OutcomeType.Successful или OutcomeType.Failure (среди прочих свойств, описанных в документации).


Если придерживаться .ExecuteAsync() вместоExecuteAndCaptureAsync(), конец последней попытки определяется (в случае успеха) выполнением, продолжающимся до следующего оператора;или (при неудаче) политикой перебрасывание окончательного исключения .ExecuteAndCaptureAsync() - это всего лишь оболочка для такого поведения.

...