using Polly.CircuitBreaker;
const int numberOfTimesToRetry = 3;
const int numberOfFailures = 3;
public static void Main()
.HandleResult<HttpResponseMessage>(r => r.IsSuccessStatusCode != true)
onRetry: (outcome, retryNumber, context) =>
_logger.LogRetryHttpCall(nameof(GetAccessToken), url);
var _cancellationTokenSource = new CancellationTokenSource();
HttpResponseMessage responsePolicy = null;
responsePolicy = await retryPolicy.ExecuteAsync(
HttpResponseMessage attemptResponse = await _httpClient.PostAsync(new Uri(url), new StringContent(string.Empty));
}, _cancellationTokenSource.Token
public static string GetJson()
Console.WriteLine("Making " + (tries == 0 ? String.Empty : "re") + "try: " + (tries++));
return "SomeProperty: \"some interesting value\"";