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

CircuitBreakerPolicy

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