当断路器打开时,Polly ExecuteAndCaptureAsync不会抛出异常

时间:2017-04-04 23:04:57

标签: c# circuit-breaker polly

我有以下代码:

 var policyResult = await _circuitBreakerPolicy.ExecuteAndCaptureAsync(async () =>
     {
         return await  configuredTaskAwaitable;
     });

return policyResult.Result;

当断路器处于打开状态时,结果只是null,并且不会抛出异常。如果电路打开,它不应该抛出异常吗?

1 个答案:

答案 0 :(得分:0)

.ExecuteAndCaptureAsync() policyResult.FinalException policyResult.Result属性null。你应该在那里找到例外。 (default(TResult)属性为TResult(严格地:.ExecuteAsync(...)适用于任何/tomcat/webapps/activiti-explorer/WEB-INF/lib),因为确实没有获得任何结果。)

如果您希望通过策略执行保留最初抛出的异常而不是捕获它,请使用直接ViewBag.MyID = 1