Я хотел бы выполнить определенную операцию, и если она не удалась три раза, вернуть ноль. Примерно так в Полли было бы прекрасно:
var results = await Policy<IList<Value>>
.Handle<TaskCanceledException>()
.RetryAsync<IList<Value>>(3)
.FallbackAsync(null as IList<Value>)
.ExecuteAsync(() => myRestfulCall());
Это невозможно, поскольку RetryAsync
возвращает AsyncRetryPolicy
, и для этого типа не определен метод расширения Fallback. Есть ли для этого синтаксис Полли, который не требует блока try / catch?