Table of Contents

Class AsyncPolicy<TResult>

Namespace
Polly
Assembly
Polly.dll
public abstract class AsyncPolicy<TResult> : PolicyBase<TResult>, IAsyncPolicy<TResult>, IsPolicy

Type Parameters

TResult
Inheritance
PolicyBase<TResult>
AsyncPolicy<TResult>
Implements
IAsyncPolicy<TResult>
Derived
Inherited Members
Extension Methods

Constructors

AsyncPolicy(PolicyBuilder<TResult>)

protected AsyncPolicy(PolicyBuilder<TResult> policyBuilder = null)

Parameters

policyBuilder PolicyBuilder<TResult>

Methods

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

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync(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>>

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

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync(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>>

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

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync(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>>

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

public Task<PolicyResult<TResult>> ExecuteAndCaptureAsync(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>>

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

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

Parameters

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

Returns

Task<PolicyResult<TResult>>

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

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

Parameters

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

Returns

Task<PolicyResult<TResult>>

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

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

Parameters

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

Returns

Task<PolicyResult<TResult>>

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

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

Parameters

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

Returns

Task<PolicyResult<TResult>>

ExecuteAndCaptureAsync(Func<Task<TResult>>)

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

Parameters

action Func<Task<TResult>>

Returns

Task<PolicyResult<TResult>>

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

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

Parameters

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

Returns

Task<TResult>

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

public Task<TResult> ExecuteAsync(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>

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

public Task<TResult> ExecuteAsync(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>

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

public Task<TResult> ExecuteAsync(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>

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

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

Parameters

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

Returns

Task<TResult>

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

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

Parameters

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

Returns

Task<TResult>

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

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

Parameters

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

Returns

Task<TResult>

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

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

Parameters

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

Returns

Task<TResult>

ExecuteAsync(Func<Task<TResult>>)

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

Parameters

action Func<Task<TResult>>

Returns

Task<TResult>

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

protected abstract Task<TResult> ImplementationAsync(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>

WithPolicyKey(string)

public AsyncPolicy<TResult> WithPolicyKey(string policyKey)

Parameters

policyKey string

Returns

AsyncPolicy<TResult>

WrapAsync(IAsyncPolicy)

public AsyncPolicyWrap<TResult> WrapAsync(IAsyncPolicy innerPolicy)

Parameters

innerPolicy IAsyncPolicy

Returns

AsyncPolicyWrap<TResult>

WrapAsync(IAsyncPolicy<TResult>)

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

Parameters

innerPolicy IAsyncPolicy<TResult>

Returns

AsyncPolicyWrap<TResult>