Share via


RetryPolicy Class

 

Provides the base implementation of the retry mechanism for unreliable actions and transient conditions.

Namespace:   Microsoft.WindowsAzure.Common.TransientFaultHandling
Assembly:  Microsoft.WindowsAzure.Common (in Microsoft.WindowsAzure.Common.dll)

Inheritance Hierarchy

System.Object
  Microsoft.WindowsAzure.Common.TransientFaultHandling.RetryPolicy
    Microsoft.WindowsAzure.Common.TransientFaultHandling.RetryPolicy<T>

Syntax

public class RetryPolicy
public ref class RetryPolicy 
type RetryPolicy = class end
Public Class RetryPolicy

Constructors

Name Description
RetryPolicy(ITransientErrorDetectionStrategy, Int32)

Initializes a new instance of the RetryPolicy class with the specified number of retry attempts and default fixed time interval between retries.

RetryPolicy(ITransientErrorDetectionStrategy, Int32, TimeSpan)

Initializes a new instance of the RetryPolicy class with the specified number of retry attempts and fixed time interval between retries.

RetryPolicy(ITransientErrorDetectionStrategy, Int32, TimeSpan, TimeSpan)

Initializes a new instance of the RetryPolicy class with the specified number of retry attempts and parameters defining the progressive delay between retries.

RetryPolicy(ITransientErrorDetectionStrategy, Int32, TimeSpan, TimeSpan, TimeSpan)

Initializes a new instance of the RetryPolicy class with the specified number of retry attempts and backoff parameters for calculating the exponential delay between retries.

RetryPolicy(ITransientErrorDetectionStrategy, RetryStrategy)

Initializes a new instance of the RetryPolicy class with the specified number of retry attempts and parameters defining the progressive delay between retries.

Properties

Name Description
DefaultExponential

Returns a default policy that implements a random exponential retry interval configured with the default FixedInterval retry strategy. The default retry policy treats all caught exceptions as transient errors.

DefaultFixed

Returns a default policy that implements a fixed retry interval configured with the default FixedInterval retry strategy. The default retry policy treats all caught exceptions as transient errors.

DefaultProgressive

Returns a default policy that implements a progressive retry interval configured with the default Incremental retry strategy. The default retry policy treats all caught exceptions as transient errors.

ErrorDetectionStrategy

Gets the instance of the error detection strategy.

NoRetry

Returns a default policy that performs no retries, but invokes the action only once.

RetryStrategy

Gets the retry strategy.

Methods

Name Description
Equals(Object)

(Inherited from Object.)

ExecuteAction(Action)

Repetitively executes the specified action while it satisfies the current retry policy.

ExecuteAction<TResult>(Func<TResult>)

Repetitively executes the specified action while it satisfies the current retry policy.

ExecuteAsync(Func<Task>)

Repetitively executes the specified asynchronous task while it satisfies the current retry policy.

ExecuteAsync(Func<Task>, CancellationToken)

Repetitively executes the specified asynchronous task while it satisfies the current retry policy.

ExecuteAsync<TResult>(Func<Task<TResult>>)

Repeatedly executes the specified asynchronous task while it satisfies the current retry policy.

ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken)

Repeatedly executes the specified asynchronous task while it satisfies the current retry policy.

Finalize()

(Inherited from Object.)

GetHashCode()

(Inherited from Object.)

GetType()

(Inherited from Object.)

MemberwiseClone()

(Inherited from Object.)

OnRetrying(Int32, Exception, TimeSpan)

Notifies the subscribers whenever a retry condition is encountered.

ToString()

(Inherited from Object.)

Events

Name Description
Retrying

An instance of a callback delegate that will be invoked whenever a retry condition is encountered.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Microsoft.WindowsAzure.Common.TransientFaultHandling Namespace

Return to top