最新要闻
- 北京警方依法行政拘留冲入球场拥抱梅西的球迷
- 女子拆145个盲盒拒付款!父亲称其有精神病闹上法庭:结果出来了
- 每日观察!电影《消失的她》预售票房破千万:陈思诚监制 倪妮主演
- 广东暴雨积水成河:有人屋内钓鱼 有人"水上摩托"
- 每日播报!不再依赖进口 国产磁共振医疗装备重大突破:绰号“白胖子”
- 天天观点:未通过网络安全审查 禁止采购!美光宣布在中国投资超43亿元
- 6月16日基金净值:景顺长城远见成长混合A最新净值1.1679,涨2.43% 要闻速递
- 2023高考英语作文预测热门话题_2018热门话题新闻作文100字
- 每日看点!iso怎么转换为gho_怎样才能把ISO文件转换成GHO文件 1111
- 嵩山少林塔沟武校学费_嵩山少林塔沟武校
- 《云顶之弈》网页版云游戏上线:PC互通 手机点开就能玩
- 环球快资讯丨最美“小丑女”演女主!《芭比》真人电影国内定档:7月21日上映
- 环球今头条!玩家哭了!女子带100张《塞尔达传说:王国之泪》卡带入境被海关查获
- 一之濑拓实和小松奈奈第一次见面(一之濑拓实)_天天快消息
- 今日视点:美股盘初:Adobe涨约5%,维珍银河涨超45%
- 普通人也能太空旅行 我国将推出商业航天项目:最快5年后|全球要闻
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
天天观热点:Polly简单使用
(资料图)
简介
Polly 是一个针对 .NET 应用程序的库,提供了一系列经过优化的故障处理策略,帮助开发人员实现重试、断路器、超时和熔断机制等。通过 Polly 库,开发人员可以更容易地编写鲁棒性更强、更可靠的应用程序。
Retry 策略
当出现异常或错误时,自动重试指定次数。
static void Main(){try{//捕获DivideByZeroException异常会重试三次var retryTwoTimesPolicy = Policy//处理多个异常类型通过OR即可 .Handle().Or() .Retry(3, (ex, count) => { Console.WriteLine("执行失败! 重试次数 {0}", count); Console.WriteLine("异常来自 {0}", ex.GetType().Name); });retryTwoTimesPolicy.Execute(() =>{var a = 0;return 1 / a;});}catch (Exception ex){//第四次异常不做处理,抛出异常Console.WriteLine($"catch {ex.GetType().Name}");}finally{Console.WriteLine($"finally");}}
static void Main(){try{//捕获DivideByZeroException异常会重试三次var retryTwoTimesPolicy = Policy //处理多个异常类型通过OR即可 .Handle().Or() //添加重新间隔 .WaitAndRetry(new[] {TimeSpan.FromSeconds(1),TimeSpan.FromSeconds(3),TimeSpan.FromSeconds(5), }, (ex, TimeSpan) => { Console.WriteLine($"执行失败! 执行间隔 {TimeSpan} {DateTime.Now}"); Console.WriteLine($"异常来自 {ex.GetType().Name}"); });retryTwoTimesPolicy.Execute(() =>{var a = 0;return 1 / a;});}catch (Exception ex){Console.WriteLine($"catch {ex.GetType().Name}");}finally{Console.WriteLine($"finally");}}
Timeout 策略
在规定时间内未获取到响应时,自动取消请求并抛出超时异常。
static async Task Main(){// 创建超时策略,等待最多 1 秒钟// 如果在等待时间内未完成操作,则会抛出 TimeoutRejectedException 异常。var timeoutPolicy = Policy.TimeoutAsync(TimeSpan.FromSeconds(1), TimeoutStrategy.Pessimistic);try{// 在超时策略中执行操作await timeoutPolicy.ExecuteAsync(async (ct) =>{using (HttpClient httpClient = new HttpClient()){var response = await httpClient.GetAsync("https://www.example.com", ct);// 处理响应结果response.EnsureSuccessStatusCode();var content = await response.Content.ReadAsStringAsync(ct);Console.WriteLine(content);}}, CancellationToken.None);/* * 最后,我们使用 ExecuteAsync 方法,在组合策略中执行异步操作,并在 CancellationToken 参数中传递 CancellationToken.None 来允许取消操作。 * 如果在指定的等待时间内没有得到响应,则会抛出 TimeoutRejectedException 异常。如果操作失败,则会捕获异常并输出相应的信息。 */}catch (TimeoutRejectedException){Console.WriteLine("The operation timed out.");}catch (Exception ex){Console.WriteLine($"Exception caught: {ex.GetType().Name}");}}
Circuit Breaker 策略
当某个远程服务发生异常或错误时,自动跳闸断路,避免进一步请求对该服务造成负载压力和损害。
static async Task Main(){//连续失败 5 次,那么断路器会被打开,并保持 5 秒钟的打开状态时间,防止继续执行相同的操作var circuitBreakerPolicy = Policy.Handle().CircuitBreaker(5, TimeSpan.FromSeconds(5));// 对多个操作使用相同的断路器策略for (int i = 0; i < 20; i++){try{await Task.Delay(TimeSpan.FromSeconds(1));// 尝试执行某些可能会抛出异常的操作circuitBreakerPolicy.Execute(() =>{// TODO: 执行某些操作,可能会抛出异常throw new Exception($"异常");});}catch (Exception ex){// 断路器开启,操作被拒绝Console.WriteLine($"time:{DateTime.Now} Num:{i} failed: {ex.Message}");}}}
Microsoft.Extensions.Http.Polly
是基于 Polly 的一个 ASP.NET Core HttpClient 工厂的扩展库,它能够为应用程序提供简单易用的、可扩展的 HTTP 客户端工厂,并且可以很容易地实现重试、熔断、超时等策略。
var retryPolicy = HttpPolicyExtensions .HandleTransientHttpError() .Or() // thrown by Polly"s TimeoutPolicy if the inner execution times out .RetryAsync(3);var timeoutPolicy = Policy.TimeoutAsync(10);//更方便的使用polliyservices.AddHttpClient("example.com", c => c.BaseAddress = new Uri("http://example.com")) .AddPolicyHandler(retryPolicy) .AddPolicyHandler(timeoutPolicy);
参考
https://github.com/App-vNext/Pollyhttps://github.com/App-vNext/Polly.Extensions.Http/blob/master/README.md
关键词:
天天观热点:Polly简单使用
go语言list表
北京警方依法行政拘留冲入球场拥抱梅西的球迷
女子拆145个盲盒拒付款!父亲称其有精神病闹上法庭:结果出来了
每日观察!电影《消失的她》预售票房破千万:陈思诚监制 倪妮主演
广东暴雨积水成河:有人屋内钓鱼 有人"水上摩托"
每日播报!不再依赖进口 国产磁共振医疗装备重大突破:绰号“白胖子”
天天观点:未通过网络安全审查 禁止采购!美光宣布在中国投资超43亿元
6月16日基金净值:景顺长城远见成长混合A最新净值1.1679,涨2.43% 要闻速递
2023高考英语作文预测热门话题_2018热门话题新闻作文100字
每日看点!iso怎么转换为gho_怎样才能把ISO文件转换成GHO文件 1111
Kotlin协程-从理论到实战
常见WebShell的流量特征
今日报丨01. 组建知识星球服务体系
嵩山少林塔沟武校学费_嵩山少林塔沟武校
《云顶之弈》网页版云游戏上线:PC互通 手机点开就能玩
环球快资讯丨最美“小丑女”演女主!《芭比》真人电影国内定档:7月21日上映
环球今头条!玩家哭了!女子带100张《塞尔达传说:王国之泪》卡带入境被海关查获
一之濑拓实和小松奈奈第一次见面(一之濑拓实)_天天快消息
今日视点:美股盘初:Adobe涨约5%,维珍银河涨超45%
普通人也能太空旅行 我国将推出商业航天项目:最快5年后|全球要闻
世界时讯:阿里总裁谈马云近况:他在东京教书 很开心
资讯:奥运冠军苏翊鸣获得清华大学保送资格 发文感谢:18岁三个愿望都实现了
法官曼司亚:一起离婚案件她跟踪回访了12年
当前关注:聊聊Flink必知必会(四)
【世界快播报】Kotlin协程-从一到多
金科地产8.8亿元债券本息未按期偿付 持有人会议仍在表决中 新动态
向佐晒儿子周岁宴,现场紧搂郭碧婷秀恩爱,儿女露正脸都是高颜值_快资讯
江淮钇为3上市:最长续航600公里、8.99万元起_天天资讯
酷睿Ultra来了!Intel史上最混乱一代 还有马甲
谨慎下载 Win10 ISO镜像被黑客下马:攻击手法罕见_环球热消息
报道:博尔特4x100
LGV引理
【世界新要闻】Docsify on VPS,搭建最简个人博客
先正达集团IPO过会 沪市主板即将迎来全球农业龙头企业
今日热文:手握手的承诺 心贴心的服务_手握手
男孩玩氢气球砸到吹风机爆燃 妈妈被严重烧伤:画面触目惊心
美国能源部资助Intel 1220万元:开发2000W散热技术-天天热资讯
狂喝红牛能抗老?
不忘挖井人!奔驰Vision One-Eleven概念车首发:致敬经典实验车|天天速读
刷新纪录!41颗卫星共乘一枚火箭座位怎么排:全靠它了
精选!蜂蜜的种类
结案了!in到底用不用索引,啥时候能用啥时候不能用-天天新消息
lua中 . 和 : 的区别
港人北上消费升温 香港零售业对人流量持乐观态度_世界新消息
前沿资讯!欧盟机构:6月初全球平均气温创纪录
世界百事通!理想MPV设计手稿曝光 李想:设计灵感不是和谐号 而是鲸鱼
女儿高考完提出3个要求妈妈崩溃:养了个祖宗|天天速看
土星卫星首次发现高浓度磷元素 地外生命真的存在?
美商海盗船发布新款DARKSTAR鼠标:15个可编程按键
2399元的RTX 4060即将开卖 专家称英伟达还得涨:显卡份额突破76%
[路演]金杨股份首次公开发行股票并在创业板上市网上路演今日在全景网成功举办
世界简讯:网易云心动模式为什么会播不是喜欢的音乐(网易云的心动模式在哪)
元数据在数字化时代中的应用与发展
记录--设计一个可选择不连续的时间范围的日期选择器
聊聊Flink的必知必会(三)
【活动访谈】发力数字基座 推动物联创新—航天科技控股集团AIRIOT4.0平台发布会活动专访 天天短讯
即时焦点:曝光!Apache SeaTunnel Catalog 功能设计为何能大大简化用户启用步骤?
财政部:1-5月全国一般公共预算收入同比增长14.9% 一般公共预算支出同比增长5.8%
新美男记_关于新美男记简介
当前资讯!高考考生们这些“套路”骗局要当心:千万别信
环球观热点:小哥十米高跳江救人!老家张家界奖励10万元外加一套房
16针显卡供电接口闯大祸!第一次把电源烧了
全球实时:HDD硬盘被垄断 倪光南院士:SSD取代的时机到了
iPhone 15 Pro Max影像这下拉满了!看不到短板
景区观光车这价格,吃相太难看了
环球热讯:两部门印发文件部署高校毕业生档案转递接收工作
Kubernetes 1.27.2集群安装|每日热讯
单体服务,微服务服务的演变 & 各自优缺点
世界观焦点:javaScript基础语法之正则表达式
国网集安市供电公司:开展端午节前作风建设监督检查
世界要闻:比法拉利更抢眼!理想设计师亲自“泄密” W01设计手稿公布
苦中作乐!广东暴雨积水成河:有人屋内钓鱼 外卖车成水上摩托-当前滚动
快报:顾客遇账单刺客8碗米饭要90元 餐厅反驳:为了拍段子蹭流量
热到怀疑人生!今年“烧烤模式”来得早
每日视讯:RTX 4080显卡杀到8399元 铭瑄618全程价保:硬核装备开抢
FOreverLove什么意思中文
全球热门:远程办公篇-vscode远程SSH开发
和必应对话之mysql分区分表
天天日报丨位运算与集合
镜像,容器,容器数据卷,DockerFile 相关命令 使用总结 全球资讯
今日视点:胸部怎样才算不下垂_胸部怎样才能变大
全球今日讯!Facebook首席AI专家表示, 大语言模型只是昙花一现
好多明星去看了梅西比赛:陈妍希、苏醒等人都在现场_全球快播
世界看热讯:余承东:比亚迪是未来能活下来的巨头之一 华为能帮车企活下来
余承东:问界M5智能驾驶能力全球第一 超越特斯拉、国内外所有同行 天天快播
李一男造车梦“复活”自由家NV换标大乘V07已通过工信部申报
全球要闻:一口降温夏日必备!迷你可爱多冰淇淋官旗发车:每支不到1块钱
【天天速看料】邓一杰:黄金破1962,保守调仓,激进持仓!
当前头条:冬天适合在室内养什么植物_冬天室内养什么植物好 冬天适合室内种植的植物介绍
梅西ins发文感谢中国粉丝:开场81秒就进球 打破职业生涯记录 快看点
离谱!代驾设套碰瓷13名代驾同行:故意选土路蹭底盘 世界快消息
梅西直播被吐槽广告多?回应来了:纯聊天 没有带货_每日热议
苹果iPhone为何只有27W充电?原因可能有三 焦点速读
韩媒:韩国年轻人迷上中国App无法自拔 实在太好用了-全球讯息
速看:液冷概念股震荡走高 飞龙股份拉升封板
天天微头条丨CHAT-GPT初使用
唐源电气6月16日盘中跌幅达5%
男子突发奇想将甜瓜和西瓜嫁接 网友看完大笑:这是焊接_每日观察
环球观焦点:交通拥堵为何不禁私家车?这座一线城市要限电动自行车 只是试运行 专家吐槽