Ejemplo n.º 1
0
        /// <summary>
        /// Register the circuit with the manager and include the delegates to get the state, set the state or reset the circuit.
        /// </summary>
        /// <param name="circuitSettings"></param>
        /// <param name="getState"></param>
        /// <param name="setState"></param>
        /// <param name="circuitReset"></param>
        public static void Register(ICircuitBreakerSettings circuitSettings, Func<CircuitState> getState, Action<CircuitState> setState, Action circuitReset)
        {
            if (_circuits.ContainsKey(circuitSettings.CircuitName))
                return;

            _circuits.Add(circuitSettings.CircuitName, new CircuitBreakerActions(getState, setState, circuitReset));
            circuitSettings.OnStateChange += ManagementBusCircuitStateChangedNotifier;
        }
Ejemplo n.º 2
0
 public CircuitBreaker(ICircuitBreakerSettings circuitBreakerSettings)
 {
     this.circuitBreakerSettings = circuitBreakerSettings;
     ConfigurePolicy();
     //// this.circuitBreakerSettings.RegisterForChange(ConfigurePolicy);
 }