码迷,mamicode.com
首页 > 其他好文 > 详细

Polly公共处理 -重试(Retry)

时间:2018-05-18 17:14:32      阅读:404      评论:0      收藏:0      [点我收藏+]

标签:image   throw   pre   .exe   color   cep   HERE   重试   技术   

封装处理下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)

标签:image   throw   pre   .exe   color   cep   HERE   重试   技术   

原文地址:https://www.cnblogs.com/liyouming/p/9056965.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!