const int numberOfTimesToRetry = 3;
const int numberOfFailures = 5;
public static void Main()
.Handle<InvalidOperationException>()
retryCount: numberOfTimesToRetry,
onRetry: (e, i) => Console.WriteLine("Retrying due to " + e.Message + " Retry " + i + " next.")
string result = retryPolicy.Execute(() => GetJson());
Console.WriteLine("Got result: " + result);
public static string GetJson()
if (tries++ <= numberOfFailures)
throw new InvalidOperationException("Something went wrong.");
return "{ \"SomeProperty\": \"some interesting value\" }";