<PackageReference Include="Polly" Version="5.0.2-v5-0-alpha0001" />

CircuitBreakerPolicy

public class CircuitBreakerPolicy : Policy
A circuit-breaker policy that can be applied to delegates.
using Polly.Utilities; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace Polly.CircuitBreaker { public class CircuitBreakerPolicy : Policy { private readonly ICircuitController<EmptyStruct> _breakerController; public CircuitState CircuitState => _breakerController.CircuitState; public Exception LastException => _breakerController.LastException; internal CircuitBreakerPolicy(Action<Action<CancellationToken>, Context, CancellationToken> exceptionPolicy, IEnumerable<ExceptionPredicate> exceptionPredicates, ICircuitController<EmptyStruct> breakerController) : base(exceptionPolicy, exceptionPredicates) { _breakerController = breakerController; } public void Isolate() { _breakerController.Isolate(); } public void Reset() { _breakerController.Reset(); } internal CircuitBreakerPolicy(Func<Func<CancellationToken, Task>, Context, CancellationToken, bool, Task> asyncExceptionPolicy, IEnumerable<ExceptionPredicate> exceptionPredicates, ICircuitController<EmptyStruct> breakerController) : base(asyncExceptionPolicy, exceptionPredicates) { _breakerController = breakerController; } } }