I am trying to create a solution with polly where I request an other api.
I have a list of URLs to multiple instances of the same service.
I want that when the first request failes, an other should automaticly start with the next url from my list.
Here is an example where i try this behaviour with two static addresses
The Problem with this solution is that the url does not change until i start the next request. I want that the urls changes on every retry
public static void ConfigureUserServiceClient(this IServiceCollection services) { _userServiceUri = new Uri("https://localhost:5001"); services.AddHttpClient("someService", client => { client.BaseAddress = _userServiceUri; client.DefaultRequestHeaders.Add("Accept", "application/json"); }).AddPolicyHandler(retryPolicy()); } private static IAsyncPolicy<HttpResponseMessage> retryPolicy() { return Policy.HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.RequestTimeout) .WaitAndRetryAsync(3, retryAttempt => TimeSpan.FromSeconds(retryAttempt), onRetry: (result, span, ctx) => { _userServiceUri = new Uri("https://localhost:5002"); }); }