我正在 .NET Core WebAPI 项目中研究重试逻辑。我正在使用pollyWaitAndRetryAsync
, WaitAndRetry
方法。
有什么区别WaitAndRetryAsync
vs WaitAndRetry
?
以及什么时候应该使用哪一个?
当您使用 Polly 时,您必须预先了解一些有关要装饰的方法/函数的信息,以便能够以正确的方式定义策略。
In case retry you can use 16 different methods to cover different use cases
方法或功能
If your to be decorated method does not return any value then use
Policy.Handle...
but if it returns with a specific type then prefer Policy<T>.Handle...
同步或异步
If your to-be-decorated method/function is synchronous then prefer those methods which does not have Async
suffix
但如果你想装饰一个异步方法/函数,那么更喜欢那些带有Async
suffix
有或没有处罚
如果您不想在重试尝试之间等待(因此您想在上一次失败后立即开始新的尝试),那么更喜欢那些以Retry
如果您确实想在两次尝试之间等待,请使用您拥有的方法之一Wait
prefix
有限或无限的重试尝试
如果您知道要装饰的方法/函数最终会成功,但不知道重试尝试次数之后,那么更喜欢方法名称包含的方法Forever
如果您不知道要装饰的方法/函数最终是否会成功,并且您不想无限期地等待,那么更喜欢那些确实成功的方法not包括这个词Forever
这样您就可以指定最大重试次数
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)