Exception when adding multiple PolicyHandler
angelaki opened this issue · comments
Tristan commented
With the current .net Version 6.0 I get this exception on execution when adding multiple PolicyHandlers:
An item with the same key has already been added. Key: PolicyHttpMessageHandler.PriorResponse
.
Right now I'm adding these two PoliciHandlers to my IHttpClientBuilder:
.AddPolicyHandler(GetRetryPolicy())
.AddPolicyHandler(GetTimeoutPolicy())
public IAsyncPolicy<HttpResponseMessage> GetRetryPolicy(int retryCount = 5)
=> HttpPolicyExtensions
.HandleTransientHttpError()
.Or<TimeoutRejectedException>()
.OrResult(msg => msg.StatusCode == System.Net.HttpStatusCode.NotFound)
.OrResult(msg => msg.StatusCode == System.Net.HttpStatusCode.Unauthorized)
.WaitAndRetryAsync(retryCount, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt - 1)))
;
public IAsyncPolicy<HttpResponseMessage> GetTimeoutPolicy(TimeSpan? timeout = null)
=> Policy.TimeoutAsync<HttpResponseMessage>(timeout ?? TimeSpan.FromSeconds(100));
Is this a known issue? It was working before .net 6.0.
Tristan commented
It seams to be a .Net issue since no Polly lib needs to be involved. I've created an issue there, too: