Polly.CircuitBreakerSyntax.CircuitBreaker C# (CSharp) Method

CircuitBreaker() 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. onBreak onReset
public static CircuitBreaker ( 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 CircuitBreaker(this PolicyBuilder policyBuilder, int exceptionsAllowedBeforeBreaking, TimeSpan durationOfBreak)
        {
            Action<Exception, TimeSpan> doNothingOnBreak = (_, __) => { };
            Action doNothingOnReset = () => { };

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

Same methods

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