Какая альтернатива HttpPolicyExtensions.HandleTransientHttpError в новой версии Polly?C#

Место общения программистов C#
Ответить
Anonymous
 Какая альтернатива HttpPolicyExtensions.HandleTransientHttpError в новой версии Polly?

Сообщение Anonymous »

Я пытаюсь обновить Polly до версии 8, переписывая политики для использования нового ResiliencePipiline. В нескольких местах я использую HttpPolicyExtensions.HandleTransientHttpError()
HttpPolicyExtensions
.HandleTransientHttpError()
.WaitAndRetryAsync(3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)));

Посмотрев исходный код, я получил что-то вроде этого:
new ResiliencePipelineBuilder()
.AddRetry(
new RetryStrategyOptions()
{
ShouldHandle = new PredicateBuilder()
.Handle()
.HandleResult(response => response.StatusCode >= HttpStatusCode.InternalServerError || response.StatusCode == HttpStatusCode.RequestTimeout),
MaxRetryAttempts = 3,
DelayGenerator = static opt => ValueTask.FromResult((TimeSpan?)TimeSpan.FromSeconds(Math.Pow(2, opt.AttemptNumber))),
})
.Build();


Подробнее здесь: https://stackoverflow.com/questions/782 ... -new-polly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»