Polly公共处理 -重试(Retry)
Posted 龙码精神~~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Polly公共处理 -重试(Retry)相关的知识,希望对你有一定的参考价值。
封装处理下Polly重试
private ILogger<PollyHelper> _logger; /// <summary> /// /// </summary> /// <param name="logger"></param> public PollyHelper(ILogger<PollyHelper> logger) { _logger = logger; } /// <summary> /// /// </summary> /// <param name="exception"></param> /// <param name="action"></param> public void PollyRetry<T>(Action action) where T : Exception { var policy = Policy .Handle<T>() .Retry(2, (ex, count) => { _logger.LogError("执行失败!重试次数 {0}\\r\\n异常来自 {1}", count, ex.GetType().Name); }); policy.Execute(action); }
调用重试
_pollyHelper.PollyRetry<UserServicesDomainException>(() => { throw new UserServicesDomainException("斯大林附近打开了房间"); });
执行结果如下
以上是关于Polly公共处理 -重试(Retry)的主要内容,如果未能解决你的问题,请参考以下文章
.Net Core with 微服务 - Polly 服务降级熔断
asp.net core 使用HttpClientFactory Polly实现熔断降级