我需要了解的是,电路断路器已关闭,但我的政策处于政策制定之中。如何在包装中找到CircuitBreakerPolicy(一个或多个)? 有没有更好的方法知道给定策略是否有任何断路器打开?
答案 0 :(得分:0)
根据Polly文档:
断路器exposes its state为breaker.CircuitState
。
PolicyWrap
提供了variety of methods,可让您自动获取策略。
例如:
var breaker = wrap.GetPolicy<CircuitBreakerPolicy>();
var state = breaker.CircuitState;
或:
var breaker = wrap.GetPolicy<CircuitBreakerPolicy>(p => p.PolicyKey == "SomeKey");
或:
IEnumerable<CircuitBreakerPolicy> breakers = wrap.GetPolicies<CircuitBreakerPolicy>();
CircuitBreakerPolicy
(作为要获取的类型)仅是上面的示例。用您需要的特定类型代替:
CircuitBreakerPolicy
AsyncCircuitBreakerPolicy
AsyncCircuitBreakerPolicy<HttpResponseMessage>
(或其他)