执行多项政策
Execute multiple policies
如何执行多个策略(或将它们合并为一个策略)?
例如我有:
var policy1 = Policy.Handle< DivideByZeroException >().WaitAndRetry(5));
var policy2 = Policy.Handle< WhosebugException >().RetryForever();
如何将它们同时应用于一种方法?
从 Polly v5.0 开始,有一个新的 PolicyWrap class,可让您组合多个策略。
var policy1 = Policy.Handle<DivideByZeroException>().WaitAndRetry(3, i => TimeSpan.FromSeconds(1));
var policy2 = Policy.Handle<WhosebugException>().RetryForever();
PolicyWrap policyWrap = Policy.Wrap(policy1, policy2);
policyWrap.Execute(someGreatAction);
如何执行多个策略(或将它们合并为一个策略)?
例如我有:
var policy1 = Policy.Handle< DivideByZeroException >().WaitAndRetry(5));
var policy2 = Policy.Handle< WhosebugException >().RetryForever();
如何将它们同时应用于一种方法?
从 Polly v5.0 开始,有一个新的 PolicyWrap class,可让您组合多个策略。
var policy1 = Policy.Handle<DivideByZeroException>().WaitAndRetry(3, i => TimeSpan.FromSeconds(1));
var policy2 = Policy.Handle<WhosebugException>().RetryForever();
PolicyWrap policyWrap = Policy.Wrap(policy1, policy2);
policyWrap.Execute(someGreatAction);