Какая альтернатива 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)));

Посмотрев на исходный код, я получил что-то вроде этого:
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

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