<PackageReference Include="Polly" Version="2.0.0" />

RetrySyntax

public static class RetrySyntax
Fluent API for defining a Retry Policy.
public static Policy Retry(this PolicyBuilder policyBuilder)

Builds a Policy that will retry once.

public static Policy Retry(this PolicyBuilder policyBuilder, int retryCount)

Builds a Policy that will retry retryCount times.

public static Policy Retry(this PolicyBuilder policyBuilder, Action<Exception, int> onRetry)

Builds a Policy that will retry once calling onRetry on retry with the raised exception and retry count.

public static Policy Retry(this PolicyBuilder policyBuilder, int retryCount, Action<Exception, int> onRetry)

Builds a Policy that will retry retryCount times calling onRetry on each retry with the raised exception and retry count.

public static ContextualPolicy Retry(this PolicyBuilder policyBuilder, Action<Exception, int, Context> onRetry)

Builds a Policy that will retry once calling onRetry on retry with the raised exception, retry count and execution context.

public static ContextualPolicy Retry(this PolicyBuilder policyBuilder, int retryCount, Action<Exception, int, Context> onRetry)

Builds a Policy that will retry retryCount times calling onRetry on each retry with the raised exception, retry count and execution context.

public static Policy RetryForever(this PolicyBuilder policyBuilder)

Builds a Policy that will retry indefinitely.

public static Policy RetryForever(this PolicyBuilder policyBuilder, Action<Exception> onRetry)

Builds a Policy that will retry indefinitely calling onRetry on each retry with the raised exception.

public static ContextualPolicy RetryForever(this PolicyBuilder policyBuilder, Action<Exception, Context> onRetry)

Builds a Policy that will retry indefinitely calling onRetry on each retry with the raised exception and execution context.

public static Policy WaitAndRetry(this PolicyBuilder policyBuilder, int retryCount, Func<int, TimeSpan> sleepDurationProvider)

Builds a Policy that will wait and retry retryCount times. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry attempt allowing an exponentially increasing wait time (exponential backoff).

public static Policy WaitAndRetry(this PolicyBuilder policyBuilder, int retryCount, Func<int, TimeSpan> sleepDurationProvider, Action<Exception, TimeSpan> onRetry)

Builds a Policy that will wait and retry retryCount times calling onRetry on each retry with the raised exception and the current sleep duration. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry attempt allowing an exponentially increasing wait time (exponential backoff).

public static ContextualPolicy WaitAndRetry(this PolicyBuilder policyBuilder, int retryCount, Func<int, TimeSpan> sleepDurationProvider, Action<Exception, TimeSpan, Context> onRetry)

Builds a Policy that will wait and retry retryCount times calling onRetry on each retry with the raised exception, current sleep duration and execution context. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry attempt allowing an exponentially increasing wait time (exponential backoff).

public static Policy WaitAndRetry(this PolicyBuilder policyBuilder, IEnumerable<TimeSpan> sleepDurations)

Builds a Policy that will wait and retry as many times as there are provided sleepDurations On each retry, the duration to wait is the current sleepDurations item.

public static Policy WaitAndRetry(this PolicyBuilder policyBuilder, IEnumerable<TimeSpan> sleepDurations, Action<Exception, TimeSpan> onRetry)

Builds a Policy that will wait and retry as many times as there are provided sleepDurations calling onRetry on each retry with the raised exception and the current sleep duration. On each retry, the duration to wait is the current sleepDurations item.

public static ContextualPolicy WaitAndRetry(this PolicyBuilder policyBuilder, IEnumerable<TimeSpan> sleepDurations, Action<Exception, TimeSpan, Context> onRetry)

Builds a Policy that will wait and retry as many times as there are provided sleepDurations calling onRetry on each retry with the raised exception, current sleep duration and execution context. On each retry, the duration to wait is the current sleepDurations item.