Polly 降级 倒退
配置基础在重试机制篇章已经说明,这里不再重复。
固定结果
//发生FooException异常或者返回结果为NULL,输出UserAvatar.Blank
Policy<UserAvatar> .Handle<FooException>() .OrResult(null) .Fallback<UserAvatar>(UserAvatar.Blank)
执行方法返回结果
//发生FooException异常或者返回结果为NULL,输出UserAvatar.GetRandomAvatar()
Policy<UserAvatar> .Handle<FooException>() .OrResult(null) .Fallback<UserAvatar>(() => UserAvatar.GetRandomAvatar())
返回结果前,执行方法
//发生FooException异常或者返回结果为NULL,输出UserAvatar.Blank,并执行方法
Policy<UserAvatar> .Handle<FooException>() .Fallback<UserAvatar>(UserAvatar.Blank, onFallback: (exception, context) => { //执行返回结果前方法,如日志 });
参考:
https://github.com/App-vNext/Polly
https://github.com/App-vNext/Polly/wiki/Fallback

浙公网安备 33010602011771号