Quantcast
Channel: Active questions tagged retry-logic - Stack Overflow
Viewing all articles
Browse latest Browse all 950

What's alternative of HttpPolicyExtensions.HandleTransientHttpError in new Polly version?

$
0
0

I am trying to upgrade Polly to v8, re-writing policies to utilize new ResiliencePipiline. At couple of places I am using HttpPolicyExtensions.HandleTransientHttpError()

 HttpPolicyExtensions                .HandleTransientHttpError()                .WaitAndRetryAsync(3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)));

Looking at the source code I've endup with something like this:

    new ResiliencePipelineBuilder<HttpResponseMessage>()        .AddRetry(            new RetryStrategyOptions<HttpResponseMessage>()            {                ShouldHandle = new PredicateBuilder<HttpResponseMessage>()                    .Handle<HttpRequestException>()                    .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();

Viewing all articles
Browse latest Browse all 950

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>