<PackageReference Include="Polly" Version="8.5.1" />

FallbackSyntax

public static class FallbackSyntax
Fluent API for defining a Fallback policy.
using Polly.Fallback; using System; using System.Runtime.CompilerServices; using System.Threading; namespace Polly { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] public static class FallbackSyntax { public static FallbackPolicy Fallback(this PolicyBuilder policyBuilder, Action fallbackAction) { if (fallbackAction == null) throw new ArgumentNullException("fallbackAction"); Action<Exception> onFallback = delegate { }; return policyBuilder.Fallback(fallbackAction, onFallback); } public static FallbackPolicy Fallback(this PolicyBuilder policyBuilder, Action<CancellationToken> fallbackAction) { if (fallbackAction == null) throw new ArgumentNullException("fallbackAction"); Action<Exception> onFallback = delegate { }; return policyBuilder.Fallback(fallbackAction, onFallback); } public static FallbackPolicy Fallback(this PolicyBuilder policyBuilder, Action fallbackAction, Action<Exception> onFallback) { if (fallbackAction == null) throw new ArgumentNullException("fallbackAction"); if (onFallback == null) throw new ArgumentNullException("onFallback"); return policyBuilder.Fallback((Action<Exception, Context, CancellationToken>)delegate { fallbackAction(); }, (Action<Exception, Context>)delegate(Exception exception, Context _) { onFallback(exception); }); } public static FallbackPolicy Fallback(this PolicyBuilder policyBuilder, Action<CancellationToken> fallbackAction, Action<Exception> onFallback) { if (fallbackAction == null) throw new ArgumentNullException("fallbackAction"); if (onFallback == null) throw new ArgumentNullException("onFallback"); return policyBuilder.Fallback(delegate(Exception _, Context _, CancellationToken ct) { fallbackAction(ct); }, delegate(Exception exception, Context _) { onFallback(exception); }); } public static FallbackPolicy Fallback(this PolicyBuilder policyBuilder, Action<Context> fallbackAction, Action<Exception, Context> onFallback) { if (fallbackAction == null) throw new ArgumentNullException("fallbackAction"); if (onFallback == null) throw new ArgumentNullException("onFallback"); return policyBuilder.Fallback(delegate(Exception _, Context ctx, CancellationToken _) { fallbackAction(ctx); }, onFallback); } public static FallbackPolicy Fallback(this PolicyBuilder policyBuilder, Action<Context, CancellationToken> fallbackAction, Action<Exception, Context> onFallback) { if (fallbackAction == null) throw new ArgumentNullException("fallbackAction"); if (onFallback == null) throw new ArgumentNullException("onFallback"); return policyBuilder.Fallback(delegate(Exception _, Context ctx, CancellationToken ct) { fallbackAction(ctx, ct); }, onFallback); } public static FallbackPolicy Fallback(this PolicyBuilder policyBuilder, Action<Exception, Context, CancellationToken> fallbackAction, Action<Exception, Context> onFallback) { if (fallbackAction == null) throw new ArgumentNullException("fallbackAction"); if (onFallback == null) throw new ArgumentNullException("onFallback"); return new FallbackPolicy(policyBuilder, onFallback, fallbackAction); } } }