Polly.CircuitBreakerSyntaxAsync.CircuitBreakerAsync C# (CSharp) Method

CircuitBreakerAsync() public static method

Builds a Policy that will function like a Circuit Breaker.

The circuit will break if exceptionsAllowedBeforeBreaking exceptions that are handled by this policy are raised consecutively.

The circuit will stay broken for the durationOfBreak. Any attempt to execute this policy while the circuit is broken, will immediately throw a BrokenCircuitException containing the exception that broke the circuit.

If the first action after the break duration period results in a handled exception, the circuit will break again for another durationOfBreak; if no exception is thrown, the circuit will reset.

(see "Release It!" by Michael T. Nygard fi)
exceptionsAllowedBeforeBreaking;Value must be greater than zero.
public static CircuitBreakerAsync ( this policyBuilder, int exceptionsAllowedBeforeBreaking, System.TimeSpan durationOfBreak ) : CircuitBreakerPolicy
policyBuilder this The policy builder.
exceptionsAllowedBeforeBreaking int The number of exceptions that are allowed before opening the circuit.
durationOfBreak System.TimeSpan The duration the circuit will stay open before resetting.
return Polly.CircuitBreaker.CircuitBreakerPolicy
        public static CircuitBreakerPolicy CircuitBreakerAsync(this PolicyBuilder policyBuilder, int exceptionsAllowedBeforeBreaking, TimeSpan durationOfBreak)
        {
            Action<Exception, TimeSpan> doNothingOnBreak = (_, __) => { };
            Action doNothingOnReset = () => { };

            return policyBuilder.CircuitBreakerAsync(
               exceptionsAllowedBeforeBreaking,
               durationOfBreak,
               doNothingOnBreak,
               doNothingOnReset
               );
        }

Same methods

CircuitBreakerSyntaxAsync::CircuitBreakerAsync ( this policyBuilder, int exceptionsAllowedBeforeBreaking, System.TimeSpan durationOfBreak, Action onBreak, Action onReset ) : CircuitBreakerPolicy
CircuitBreakerSyntaxAsync::CircuitBreakerAsync ( this policyBuilder, int exceptionsAllowedBeforeBreaking, System.TimeSpan durationOfBreak, Action onBreak, Action onReset, System.Action onHalfOpen ) : CircuitBreakerPolicy
CircuitBreakerSyntaxAsync::CircuitBreakerAsync ( this policyBuilder, int exceptionsAllowedBeforeBreaking, System.TimeSpan durationOfBreak, TimeSpan>.Action onBreak, System.Action onReset ) : CircuitBreakerPolicy
CircuitBreakerSyntaxAsync::CircuitBreakerAsync ( this policyBuilder, int exceptionsAllowedBeforeBreaking, System.TimeSpan durationOfBreak, TimeSpan>.Action onBreak, System.Action onReset, System.Action onHalfOpen ) : CircuitBreakerPolicy
CircuitBreakerSyntaxAsync