Show / Hide Table of Contents

Interface IExecutionStrategy

A strategy that is used to execute an operation, possibly with logic to retry when a failure occurs.

Namespace: IRM.TransientFaultHandling
Assembly: IRM.dll
Syntax
public interface IExecutionStrategy

Properties

RetriesOnFailure

Indicates whether this IExecutionStrategy might retry the execution after a failure.

Declaration
bool RetriesOnFailure { get; }
Property Value
Boolean

Methods

Execute<TResult>(Func<TResult>)

Executes the specified operation and returns the result.

Declaration
TResult Execute<TResult>(Func<TResult> operation)
Parameters
System.Func<TResult> operation

A delegate representing an executable operation that returns the result of type TResult.

Returns
TResult

The result from the operation.

Type Parameters
TResult

The return type of operation.

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

Executes the specified asynchronous operation and returns the result.

Declaration
Task<TResult> ExecuteAsync<TResult>(Func<CancellationToken, Task<TResult>> operation, CancellationToken cancellationToken = default(CancellationToken))
Parameters
System.Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<TResult>> operation

A function that returns a started task of type TResult.

System.Threading.CancellationToken cancellationToken

A cancellation token used to cancel the retry operation, but not operations that are already in flight or that already completed successfully.

Returns
System.Threading.Tasks.Task<TResult>

A task that will run to completion if the original task completes successfully (either the first time or after retrying transient failures). If the task fails with a non-transient error or the retry limit is reached, the returned task will become faulted and the exception must be observed.

Type Parameters
TResult

The result type of the System.Threading.Tasks.Task<TResult> returned by operation.

Extension Methods

ObjectExtensions.DeepClone<T>(T)
ExecutionStrategyExtensions.Execute(IExecutionStrategy, Action)
ExecutionStrategyExtensions.ExecuteAsync(IExecutionStrategy, Func<Task>)
ExecutionStrategyExtensions.ExecuteAsync(IExecutionStrategy, Func<CancellationToken, Task>, CancellationToken)
AnnotationsExtensions.IsValid(Object)
Back to top Generated by DocFX