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

posted @ 2021-02-26 10:59  delafqm  阅读(86)  评论(0)    收藏  举报