Table of Contents

Class FallbackTResultSyntaxAsync

Namespace
Polly
Assembly
Polly.dll

Fluent API for defining a Fallback Policy.

public static class FallbackTResultSyntaxAsync
Inheritance
FallbackTResultSyntaxAsync
Inherited Members

Methods

FallbackAsync<TResult>(PolicyBuilder<TResult>, Func<Context, CancellationToken, Task<TResult>>, Func<DelegateResult<TResult>, Context, Task>)

Builds a FallbackPolicy which provides a fallback value if the main execution fails. Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, first asynchronously calls onFallbackAsync with details of the handled exception or result and the execution context; then asynchronously calls fallbackAction and returns its result.

public static FallbackPolicy<TResult> FallbackAsync<TResult>(this PolicyBuilder<TResult> policyBuilder, Func<Context, CancellationToken, Task<TResult>> fallbackAction, Func<DelegateResult<TResult>, Context, Task> onFallbackAsync)

Parameters

policyBuilder PolicyBuilder<TResult>

The policy builder.

fallbackAction Func<Context, CancellationToken, Task<TResult>>

The fallback delegate.

onFallbackAsync Func<DelegateResult<TResult>, Context, Task>

The action to call asynchronously before invoking the fallback delegate.

Returns

FallbackPolicy<TResult>

The policy instance.

Type Parameters

TResult

Exceptions

ArgumentNullException

fallbackAction

ArgumentNullException

onFallbackAsync

FallbackAsync<TResult>(PolicyBuilder<TResult>, Func<DelegateResult<TResult>, Context, CancellationToken, Task<TResult>>, Func<DelegateResult<TResult>, Context, Task>)

Builds a FallbackPolicy which provides a fallback value if the main execution fails. Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, first asynchronously calls onFallbackAsync with details of the handled exception or result and the execution context; then asynchronously calls fallbackAction and returns its result.

public static FallbackPolicy<TResult> FallbackAsync<TResult>(this PolicyBuilder<TResult> policyBuilder, Func<DelegateResult<TResult>, Context, CancellationToken, Task<TResult>> fallbackAction, Func<DelegateResult<TResult>, Context, Task> onFallbackAsync)

Parameters

policyBuilder PolicyBuilder<TResult>

The policy builder.

fallbackAction Func<DelegateResult<TResult>, Context, CancellationToken, Task<TResult>>

The fallback delegate.

onFallbackAsync Func<DelegateResult<TResult>, Context, Task>

The action to call asynchronously before invoking the fallback delegate.

Returns

FallbackPolicy<TResult>

The policy instance.

Type Parameters

TResult

Exceptions

ArgumentNullException

fallbackAction

ArgumentNullException

onFallbackAsync

FallbackAsync<TResult>(PolicyBuilder<TResult>, Func<CancellationToken, Task<TResult>>)

Builds a FallbackPolicy which provides a fallback value if the main execution fails. Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, asynchronously calls fallbackAction and returns its result.

public static FallbackPolicy<TResult> FallbackAsync<TResult>(this PolicyBuilder<TResult> policyBuilder, Func<CancellationToken, Task<TResult>> fallbackAction)

Parameters

policyBuilder PolicyBuilder<TResult>

The policy builder.

fallbackAction Func<CancellationToken, Task<TResult>>

The fallback delegate.

Returns

FallbackPolicy<TResult>

The policy instance.

Type Parameters

TResult

Exceptions

ArgumentNullException

fallbackAction

FallbackAsync<TResult>(PolicyBuilder<TResult>, Func<CancellationToken, Task<TResult>>, Func<DelegateResult<TResult>, Context, Task>)

Builds a FallbackPolicy which provides a fallback value if the main execution fails. Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, first asynchronously calls onFallbackAsync with details of the handled exception or result and the execution context; then asynchronously calls fallbackAction and returns its result.

[Obsolete("This overload is deprecated and will be removed in a future release. Prefer the overload in which both fallbackAction and onFallbackAsync take a Context input parameter.")]
public static FallbackPolicy<TResult> FallbackAsync<TResult>(this PolicyBuilder<TResult> policyBuilder, Func<CancellationToken, Task<TResult>> fallbackAction, Func<DelegateResult<TResult>, Context, Task> onFallbackAsync)

Parameters

policyBuilder PolicyBuilder<TResult>

The policy builder.

fallbackAction Func<CancellationToken, Task<TResult>>

The fallback delegate.

onFallbackAsync Func<DelegateResult<TResult>, Context, Task>

The action to call asynchronously before invoking the fallback delegate.

Returns

FallbackPolicy<TResult>

The policy instance.

Type Parameters

TResult

Exceptions

ArgumentNullException

fallbackAction

ArgumentNullException

onFallbackAsync

FallbackAsync<TResult>(PolicyBuilder<TResult>, Func<CancellationToken, Task<TResult>>, Func<DelegateResult<TResult>, Task>)

Builds a FallbackPolicy which provides a fallback value if the main execution fails. Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, first asynchronously calls onFallbackAsync with details of the handled exception or result; then asynchronously calls fallbackAction and returns its result.

public static FallbackPolicy<TResult> FallbackAsync<TResult>(this PolicyBuilder<TResult> policyBuilder, Func<CancellationToken, Task<TResult>> fallbackAction, Func<DelegateResult<TResult>, Task> onFallbackAsync)

Parameters

policyBuilder PolicyBuilder<TResult>

The policy builder.

fallbackAction Func<CancellationToken, Task<TResult>>

The fallback delegate.

onFallbackAsync Func<DelegateResult<TResult>, Task>

The action to call asynchronously before invoking the fallback delegate.

Returns

FallbackPolicy<TResult>

The policy instance.

Type Parameters

TResult

Exceptions

ArgumentNullException

fallbackAction

ArgumentNullException

onFallbackAsync

FallbackAsync<TResult>(PolicyBuilder<TResult>, TResult)

Builds a FallbackPolicy which provides a fallback value if the main execution fails. Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, returns fallbackValue.

public static FallbackPolicy<TResult> FallbackAsync<TResult>(this PolicyBuilder<TResult> policyBuilder, TResult fallbackValue)

Parameters

policyBuilder PolicyBuilder<TResult>

The policy builder.

fallbackValue TResult

The fallback TResult value to provide.

Returns

FallbackPolicy<TResult>

The policy instance.

Type Parameters

TResult

FallbackAsync<TResult>(PolicyBuilder<TResult>, TResult, Func<DelegateResult<TResult>, Context, Task>)

Builds a FallbackPolicy which provides a fallback value if the main execution fails. Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, first asynchronously calls onFallbackAsync with details of the handled exception or result and the execution context; then returns fallbackValue.

public static FallbackPolicy<TResult> FallbackAsync<TResult>(this PolicyBuilder<TResult> policyBuilder, TResult fallbackValue, Func<DelegateResult<TResult>, Context, Task> onFallbackAsync)

Parameters

policyBuilder PolicyBuilder<TResult>

The policy builder.

fallbackValue TResult

The fallback TResult value to provide.

onFallbackAsync Func<DelegateResult<TResult>, Context, Task>

The action to call asynchronously before invoking the fallback delegate.

Returns

FallbackPolicy<TResult>

The policy instance.

Type Parameters

TResult

Exceptions

ArgumentNullException

onFallbackAsync

FallbackAsync<TResult>(PolicyBuilder<TResult>, TResult, Func<DelegateResult<TResult>, Task>)

Builds a FallbackPolicy which provides a fallback value if the main execution fails. Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, first asynchronously calls onFallbackAsync with details of the handled exception or result; then returns fallbackValue.

public static FallbackPolicy<TResult> FallbackAsync<TResult>(this PolicyBuilder<TResult> policyBuilder, TResult fallbackValue, Func<DelegateResult<TResult>, Task> onFallbackAsync)

Parameters

policyBuilder PolicyBuilder<TResult>

The policy builder.

fallbackValue TResult

The fallback TResult value to provide.

onFallbackAsync Func<DelegateResult<TResult>, Task>

The action to call asynchronously before invoking the fallback delegate.

Returns

FallbackPolicy<TResult>

The policy instance.

Type Parameters

TResult

Exceptions

ArgumentNullException

onFallbackAsync