Table of Contents

Class AsyncPolicy

Namespace
Polly
Assembly
Polly.dll
public abstract class AsyncPolicy : PolicyBase, IAsyncPolicy, IsPolicy
Inheritance
AsyncPolicy
Implements
Derived
Inherited Members
Extension Methods

Constructors

AsyncPolicy(PolicyBuilder)

protected AsyncPolicy(PolicyBuilder policyBuilder = null)

Parameters

policyBuilder PolicyBuilder

Methods

ExecuteAndCaptureAsync(Func<Context, CancellationToken, Task>, Context, CancellationToken)

public Task<PolicyResult> ExecuteAndCaptureAsync(Func<Context, CancellationToken, Task> action, Context context, CancellationToken cancellationToken)

Parameters

action Func<Context, CancellationToken, Task>
context Context
cancellationToken CancellationToken

Returns

Task<PolicyResult>

ExecuteAndCaptureAsync(Func<Context, CancellationToken, Task>, Context, CancellationToken, bool)

public Task<PolicyResult> ExecuteAndCaptureAsync(Func<Context, CancellationToken, Task> action, Context context, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<Context, CancellationToken, Task>
context Context
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task<PolicyResult>

ExecuteAndCaptureAsync(Func<Context, CancellationToken, Task>, IDictionary<string, object>, CancellationToken)

public Task<PolicyResult> ExecuteAndCaptureAsync(Func<Context, CancellationToken, Task> action, IDictionary<string, object> contextData, CancellationToken cancellationToken)

Parameters

action Func<Context, CancellationToken, Task>
contextData IDictionary<string, object>
cancellationToken CancellationToken

Returns

Task<PolicyResult>

ExecuteAndCaptureAsync(Func<Context, CancellationToken, Task>, IDictionary<string, object>, CancellationToken, bool)

public Task<PolicyResult> ExecuteAndCaptureAsync(Func<Context, CancellationToken, Task> action, IDictionary<string, object> contextData, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<Context, CancellationToken, Task>
contextData IDictionary<string, object>
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task<PolicyResult>

ExecuteAndCaptureAsync(Func<Context, Task>, Context)

public Task<PolicyResult> ExecuteAndCaptureAsync(Func<Context, Task> action, Context context)

Parameters

action Func<Context, Task>
context Context

Returns

Task<PolicyResult>

ExecuteAndCaptureAsync(Func<Context, Task>, IDictionary<string, object>)

public Task<PolicyResult> ExecuteAndCaptureAsync(Func<Context, Task> action, IDictionary<string, object> contextData)

Parameters

action Func<Context, Task>
contextData IDictionary<string, object>

Returns

Task<PolicyResult>

ExecuteAndCaptureAsync(Func<CancellationToken, Task>, CancellationToken)

public Task<PolicyResult> ExecuteAndCaptureAsync(Func<CancellationToken, Task> action, CancellationToken cancellationToken)

Parameters

action Func<CancellationToken, Task>
cancellationToken CancellationToken

Returns

Task<PolicyResult>

ExecuteAndCaptureAsync(Func<CancellationToken, Task>, CancellationToken, bool)

public Task<PolicyResult> ExecuteAndCaptureAsync(Func<CancellationToken, Task> action, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<CancellationToken, Task>
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task<PolicyResult>

ExecuteAndCaptureAsync(Func<Task>)

public Task<PolicyResult> ExecuteAndCaptureAsync(Func<Task> action)

Parameters

action Func<Task>

Returns

Task<PolicyResult>

ExecuteAndCaptureAsync<TResult>(Func<Context, CancellationToken, Task<TResult>>, Context, CancellationToken)

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, Context context, CancellationToken cancellationToken)

Parameters

action Func<Context, CancellationToken, Task<TResult>>
context Context
cancellationToken CancellationToken

Returns

Task<PolicyResult<TResult>>

Type Parameters

TResult

ExecuteAndCaptureAsync<TResult>(Func<Context, CancellationToken, Task<TResult>>, Context, CancellationToken, bool)

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, Context context, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<Context, CancellationToken, Task<TResult>>
context Context
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task<PolicyResult<TResult>>

Type Parameters

TResult

ExecuteAndCaptureAsync<TResult>(Func<Context, CancellationToken, Task<TResult>>, IDictionary<string, object>, CancellationToken)

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, IDictionary<string, object> contextData, CancellationToken cancellationToken)

Parameters

action Func<Context, CancellationToken, Task<TResult>>
contextData IDictionary<string, object>
cancellationToken CancellationToken

Returns

Task<PolicyResult<TResult>>

Type Parameters

TResult

ExecuteAndCaptureAsync<TResult>(Func<Context, CancellationToken, Task<TResult>>, IDictionary<string, object>, CancellationToken, bool)

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, IDictionary<string, object> contextData, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<Context, CancellationToken, Task<TResult>>
contextData IDictionary<string, object>
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task<PolicyResult<TResult>>

Type Parameters

TResult

ExecuteAndCaptureAsync<TResult>(Func<Context, Task<TResult>>, Context)

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync<TResult>(Func<Context, Task<TResult>> action, Context context)

Parameters

action Func<Context, Task<TResult>>
context Context

Returns

Task<PolicyResult<TResult>>

Type Parameters

TResult

ExecuteAndCaptureAsync<TResult>(Func<Context, Task<TResult>>, IDictionary<string, object>)

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync<TResult>(Func<Context, Task<TResult>> action, IDictionary<string, object> contextData)

Parameters

action Func<Context, Task<TResult>>
contextData IDictionary<string, object>

Returns

Task<PolicyResult<TResult>>

Type Parameters

TResult

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

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync<TResult>(Func<CancellationToken, Task<TResult>> action, CancellationToken cancellationToken)

Parameters

action Func<CancellationToken, Task<TResult>>
cancellationToken CancellationToken

Returns

Task<PolicyResult<TResult>>

Type Parameters

TResult

ExecuteAndCaptureAsync<TResult>(Func<CancellationToken, Task<TResult>>, CancellationToken, bool)

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync<TResult>(Func<CancellationToken, Task<TResult>> action, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<CancellationToken, Task<TResult>>
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task<PolicyResult<TResult>>

Type Parameters

TResult

ExecuteAndCaptureAsync<TResult>(Func<Task<TResult>>)

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync<TResult>(Func<Task<TResult>> action)

Parameters

action Func<Task<TResult>>

Returns

Task<PolicyResult<TResult>>

Type Parameters

TResult

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

public Task ExecuteAsync(Func<Context, CancellationToken, Task> action, Context context, CancellationToken cancellationToken)

Parameters

action Func<Context, CancellationToken, Task>
context Context
cancellationToken CancellationToken

Returns

Task

ExecuteAsync(Func<Context, CancellationToken, Task>, Context, CancellationToken, bool)

public Task ExecuteAsync(Func<Context, CancellationToken, Task> action, Context context, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<Context, CancellationToken, Task>
context Context
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task

ExecuteAsync(Func<Context, CancellationToken, Task>, IDictionary<string, object>, CancellationToken)

public Task ExecuteAsync(Func<Context, CancellationToken, Task> action, IDictionary<string, object> contextData, CancellationToken cancellationToken)

Parameters

action Func<Context, CancellationToken, Task>
contextData IDictionary<string, object>
cancellationToken CancellationToken

Returns

Task

ExecuteAsync(Func<Context, CancellationToken, Task>, IDictionary<string, object>, CancellationToken, bool)

public Task ExecuteAsync(Func<Context, CancellationToken, Task> action, IDictionary<string, object> contextData, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<Context, CancellationToken, Task>
contextData IDictionary<string, object>
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task

ExecuteAsync(Func<Context, Task>, Context)

public Task ExecuteAsync(Func<Context, Task> action, Context context)

Parameters

action Func<Context, Task>
context Context

Returns

Task

ExecuteAsync(Func<Context, Task>, IDictionary<string, object>)

public Task ExecuteAsync(Func<Context, Task> action, IDictionary<string, object> contextData)

Parameters

action Func<Context, Task>
contextData IDictionary<string, object>

Returns

Task

ExecuteAsync(Func<CancellationToken, Task>, CancellationToken)

public Task ExecuteAsync(Func<CancellationToken, Task> action, CancellationToken cancellationToken)

Parameters

action Func<CancellationToken, Task>
cancellationToken CancellationToken

Returns

Task

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

public Task ExecuteAsync(Func<CancellationToken, Task> action, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<CancellationToken, Task>
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task

ExecuteAsync(Func<Task>)

public Task ExecuteAsync(Func<Task> action)

Parameters

action Func<Task>

Returns

Task

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

public Task<TResult> ExecuteAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, Context context, CancellationToken cancellationToken)

Parameters

action Func<Context, CancellationToken, Task<TResult>>
context Context
cancellationToken CancellationToken

Returns

Task<TResult>

Type Parameters

TResult

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

public Task<TResult> ExecuteAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, Context context, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<Context, CancellationToken, Task<TResult>>
context Context
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task<TResult>

Type Parameters

TResult

ExecuteAsync<TResult>(Func<Context, CancellationToken, Task<TResult>>, IDictionary<string, object>, CancellationToken)

public Task<TResult> ExecuteAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, IDictionary<string, object> contextData, CancellationToken cancellationToken)

Parameters

action Func<Context, CancellationToken, Task<TResult>>
contextData IDictionary<string, object>
cancellationToken CancellationToken

Returns

Task<TResult>

Type Parameters

TResult

ExecuteAsync<TResult>(Func<Context, CancellationToken, Task<TResult>>, IDictionary<string, object>, CancellationToken, bool)

public Task<TResult> ExecuteAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, IDictionary<string, object> contextData, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<Context, CancellationToken, Task<TResult>>
contextData IDictionary<string, object>
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task<TResult>

Type Parameters

TResult

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

public Task<TResult> ExecuteAsync<TResult>(Func<Context, Task<TResult>> action, Context context)

Parameters

action Func<Context, Task<TResult>>
context Context

Returns

Task<TResult>

Type Parameters

TResult

ExecuteAsync<TResult>(Func<Context, Task<TResult>>, IDictionary<string, object>)

public Task<TResult> ExecuteAsync<TResult>(Func<Context, Task<TResult>> action, IDictionary<string, object> contextData)

Parameters

action Func<Context, Task<TResult>>
contextData IDictionary<string, object>

Returns

Task<TResult>

Type Parameters

TResult

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

public Task<TResult> ExecuteAsync<TResult>(Func<CancellationToken, Task<TResult>> action, CancellationToken cancellationToken)

Parameters

action Func<CancellationToken, Task<TResult>>
cancellationToken CancellationToken

Returns

Task<TResult>

Type Parameters

TResult

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

public Task<TResult> ExecuteAsync<TResult>(Func<CancellationToken, Task<TResult>> action, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<CancellationToken, Task<TResult>>
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task<TResult>

Type Parameters

TResult

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

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

Parameters

action Func<Task<TResult>>

Returns

Task<TResult>

Type Parameters

TResult

ImplementationAsync(Func<Context, CancellationToken, Task>, Context, CancellationToken, bool)

protected virtual Task ImplementationAsync(Func<Context, CancellationToken, Task> action, Context context, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<Context, CancellationToken, Task>
context Context
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task

ImplementationAsync<TResult>(Func<Context, CancellationToken, Task<TResult>>, Context, CancellationToken, bool)

protected abstract Task<TResult> ImplementationAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, Context context, CancellationToken cancellationToken, bool continueOnCapturedContext)

Parameters

action Func<Context, CancellationToken, Task<TResult>>
context Context
cancellationToken CancellationToken
continueOnCapturedContext bool

Returns

Task<TResult>

Type Parameters

TResult

WithPolicyKey(string)

public AsyncPolicy WithPolicyKey(string policyKey)

Parameters

policyKey string

Returns

AsyncPolicy

WrapAsync(IAsyncPolicy)

public AsyncPolicyWrap WrapAsync(IAsyncPolicy innerPolicy)

Parameters

innerPolicy IAsyncPolicy

Returns

AsyncPolicyWrap

WrapAsync<TResult>(IAsyncPolicy<TResult>)

public AsyncPolicyWrap<TResult> WrapAsync<TResult>(IAsyncPolicy<TResult> innerPolicy)

Parameters

innerPolicy IAsyncPolicy<TResult>

Returns

AsyncPolicyWrap<TResult>

Type Parameters

TResult