2017-04-04 37 views
0

我有以下代码:波利ExecuteAndCaptureAsync没有抛出异常时,断路器开路

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

return policyResult.Result; 

当断路器处于打开状态,结果是根本无效,并不会引发任何异常。如果电路被打开,它不应该抛出异常吗?

回答

0

.ExecuteAndCaptureAsync()designed to capture any exceptions thrown纳入policyResult.FinalException属性。你应该在那里找到例外。 (该policyResult.Result属性是null(严格:default(TResult)不管什么TResult),因为得到确实没有结果)

如果你想执行通过政策留下最初抛出,而不是捕捉到任何异常,请使用直.ExecuteAsync(...)