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

RetrySyntaxAsync

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

Builds a Policy that will retry once.

public static RetryPolicy RetryAsync(this PolicyBuilder policyBuilder, int retryCount)

Builds a Policy that will retry retryCount times.

public static RetryPolicy RetryAsync(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 RetryPolicy RetryAsync(this PolicyBuilder policyBuilder, Func<Exception, int, Task> onRetryAsync)

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

public static RetryPolicy RetryAsync(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 RetryPolicy RetryAsync(this PolicyBuilder policyBuilder, int retryCount, Func<Exception, int, Task> onRetryAsync)

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

public static RetryPolicy RetryAsync(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 context data.

public static RetryPolicy RetryAsync(this PolicyBuilder policyBuilder, Func<Exception, int, Context, Task> onRetryAsync)

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

public static RetryPolicy RetryAsync(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 context data.

public static RetryPolicy RetryAsync(this PolicyBuilder policyBuilder, int retryCount, Func<Exception, int, Context, Task> onRetryAsync)

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

public static RetryPolicy RetryForeverAsync(this PolicyBuilder policyBuilder)

Builds a Policy that will retry indefinitely until the action succeeds.

public static RetryPolicy RetryForeverAsync(this PolicyBuilder policyBuilder, Action<Exception> onRetry)

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

public static RetryPolicy RetryForeverAsync(this PolicyBuilder policyBuilder, Action<Exception, int> onRetry)

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

public static RetryPolicy RetryForeverAsync(this PolicyBuilder policyBuilder, Func<Exception, Task> onRetryAsync)

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

public static RetryPolicy RetryForeverAsync(this PolicyBuilder policyBuilder, Func<Exception, int, Task> onRetryAsync)

Builds a Policy that will retry indefinitely calling onRetryAsync on each retry with the raised exception and retry count.

public static RetryPolicy RetryForeverAsync(this PolicyBuilder policyBuilder, Action<Exception, Context> onRetry)

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

public static RetryPolicy RetryForeverAsync(this PolicyBuilder policyBuilder, Action<Exception, int, Context> onRetry)

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

public static RetryPolicy RetryForeverAsync(this PolicyBuilder policyBuilder, Func<Exception, Context, Task> onRetryAsync)

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

public static RetryPolicy RetryForeverAsync(this PolicyBuilder policyBuilder, Func<Exception, int, Context, Task> onRetryAsync)

Builds a Policy that will retry indefinitely calling onRetryAsync on each retry with the raised exception, retry count and context data.

public static RetryPolicy WaitAndRetryAsync(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 number (1 for first retry, 2 for second etc).

public static RetryPolicy WaitAndRetryAsync(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 number (1 for first retry, 2 for second etc).

public static RetryPolicy WaitAndRetryAsync(this PolicyBuilder policyBuilder, int retryCount, Func<int, TimeSpan> sleepDurationProvider, Func<Exception, TimeSpan, Task> onRetryAsync)

Builds a Policy that will wait and retry retryCount times calling onRetryAsync 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 number (1 for first retry, 2 for second etc).

public static RetryPolicy WaitAndRetryAsync(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, the current sleep duration and context data. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc).

public static RetryPolicy WaitAndRetryAsync(this PolicyBuilder policyBuilder, int retryCount, Func<int, TimeSpan> sleepDurationProvider, Func<Exception, TimeSpan, Context, Task> onRetryAsync)

Builds a Policy that will wait and retry retryCount times calling onRetryAsync on each retry with the raised exception, the current sleep duration and context data. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc).

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

Builds a Policy that will wait and retry retryCount times calling onRetry on each retry with the raised exception, the current sleep duration, retry count, and context data. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc).

public static RetryPolicy WaitAndRetryAsync(this PolicyBuilder policyBuilder, int retryCount, Func<int, TimeSpan> sleepDurationProvider, Func<Exception, TimeSpan, int, Context, Task> onRetryAsync)

Builds a Policy that will wait and retry retryCount times calling onRetryAsync on each retry with the raised exception, the current sleep duration, retry count, and context data. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc).

public static RetryPolicy WaitAndRetryAsync(this PolicyBuilder policyBuilder, int retryCount, Func<int, Context, 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, the current sleep duration and context data. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc) and execution context.

public static RetryPolicy WaitAndRetryAsync(this PolicyBuilder policyBuilder, int retryCount, Func<int, Context, TimeSpan> sleepDurationProvider, Func<Exception, TimeSpan, Context, Task> onRetryAsync)

Builds a Policy that will wait and retry retryCount times calling onRetryAsync on each retry with the raised exception, the current sleep duration and context data. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc) and execution context.

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

Builds a Policy that will wait and retry retryCount times calling onRetry on each retry with the raised exception, the current sleep duration, retry count, and context data. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc) and execution context.

public static RetryPolicy WaitAndRetryAsync(this PolicyBuilder policyBuilder, int retryCount, Func<int, Context, TimeSpan> sleepDurationProvider, Func<Exception, TimeSpan, int, Context, Task> onRetryAsync)

Builds a Policy that will wait and retry retryCount times calling onRetryAsync on each retry with the raised exception, the current sleep duration, retry count, and context data. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc) and execution context.

public static RetryPolicy WaitAndRetryAsync(this PolicyBuilder policyBuilder, int retryCount, Func<int, Exception, Context, TimeSpan> sleepDurationProvider, Func<Exception, TimeSpan, int, Context, Task> onRetryAsync)

Builds a Policy that will wait and retry retryCount times calling onRetryAsync on each retry with the raised exception, the current sleep duration, retry count, and context data. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc), previous exception and execution context.

public static RetryPolicy WaitAndRetryAsync(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 RetryPolicy WaitAndRetryAsync(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 RetryPolicy WaitAndRetryAsync(this PolicyBuilder policyBuilder, IEnumerable<TimeSpan> sleepDurations, Func<Exception, TimeSpan, Task> onRetryAsync)

Builds a Policy that will wait and retry as many times as there are provided sleepDurations calling onRetryAsync 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 RetryPolicy WaitAndRetryAsync(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, the current sleep duration and context data. On each retry, the duration to wait is the current sleepDurations item.

public static RetryPolicy WaitAndRetryAsync(this PolicyBuilder policyBuilder, IEnumerable<TimeSpan> sleepDurations, Func<Exception, TimeSpan, Context, Task> onRetryAsync)

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

public static RetryPolicy WaitAndRetryAsync(this PolicyBuilder policyBuilder, IEnumerable<TimeSpan> sleepDurations, Action<Exception, TimeSpan, int, 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, the current sleep duration, retry count, and context data. On each retry, the duration to wait is the current sleepDurations item.

public static RetryPolicy WaitAndRetryAsync(this PolicyBuilder policyBuilder, IEnumerable<TimeSpan> sleepDurations, Func<Exception, TimeSpan, int, Context, Task> onRetryAsync)

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

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, TimeSpan> sleepDurationProvider)

Builds a Policy that will wait and retry indefinitely until the action succeeds. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc)

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, Context, TimeSpan> sleepDurationProvider)

Builds a Policy that will wait and retry indefinitely until the action succeeds. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc) and execution context.

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, TimeSpan> sleepDurationProvider, Action<Exception, TimeSpan> onRetry)

Builds a Policy that will wait and retry indefinitely calling onRetry on each retry with the raised exception. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc)

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, TimeSpan> sleepDurationProvider, Action<Exception, int, TimeSpan> onRetry)

Builds a Policy that will wait and retry indefinitely calling onRetry on each retry with the raised exception and retry count. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc)

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, TimeSpan> sleepDurationProvider, Func<Exception, TimeSpan, Task> onRetryAsync)

Builds a Policy that will wait and retry indefinitely calling onRetryAsync on each retry with the raised exception. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc)

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, TimeSpan> sleepDurationProvider, Func<Exception, int, TimeSpan, Task> onRetryAsync)

Builds a Policy that will wait and retry indefinitely calling onRetryAsync on each retry with the raised exception and retry count. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc)

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, Context, TimeSpan> sleepDurationProvider, Action<Exception, TimeSpan, Context> onRetry)

Builds a Policy that will wait and retry indefinitely calling onRetry on each retry with the raised exception and execution context. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc) and execution context.

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, Context, TimeSpan> sleepDurationProvider, Action<Exception, int, TimeSpan, Context> onRetry)

Builds a Policy that will wait and retry indefinitely calling onRetry on each retry with the raised exception, retry count and execution context. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc) and execution context.

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, Context, TimeSpan> sleepDurationProvider, Func<Exception, TimeSpan, Context, Task> onRetryAsync)

Builds a Policy that will wait and retry indefinitely calling onRetryAsync on each retry with the raised exception and execution context. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc) and execution context.

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, Context, TimeSpan> sleepDurationProvider, Func<Exception, int, TimeSpan, Context, Task> onRetryAsync)

Builds a Policy that will wait and retry indefinitely calling onRetryAsync on each retry with the raised exception, retry count and execution context. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc) and execution context.

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, Exception, Context, TimeSpan> sleepDurationProvider, Func<Exception, TimeSpan, Context, Task> onRetryAsync)

Builds a Policy that will wait and retry indefinitely calling onRetryAsync on each retry with the raised exception and execution context. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc), previous exception and execution context.

public static RetryPolicy WaitAndRetryForeverAsync(this PolicyBuilder policyBuilder, Func<int, Exception, Context, TimeSpan> sleepDurationProvider, Func<Exception, int, TimeSpan, Context, Task> onRetryAsync)

Builds a Policy that will wait and retry indefinitely calling onRetryAsync on each retry with the raised exception, retry count and execution context. On each retry, the duration to wait is calculated by calling sleepDurationProvider with the current retry number (1 for first retry, 2 for second etc), previous exception and execution context.