最新要闻
- 情人节必备:德芙香浓黑巧12元/碗大促
- 逃离银河系!科学家在仙女星系中发现银河移民
- 世界快播:山东女子中淘宝彩票锦鲤:直播1小时刮594张彩票 中7170元
- 天天滚动:骁龙8+满血版、残血版差价非常大 一加揭秘:能差1个亿
- 防止技术垄断:昆仑万维宣布将在年内开源类ChatGPT代码
- 微头条丨女子带汉堡进星巴克被拦 称味道大会影响其他顾客 网友抵制
- 微信数据再多都够用 真我GT Neo5 1TB干到3499元:旗舰射门员
- 新资讯:14岁女孩连续玩手机81小时险猝死 专家提醒:家长一定要控制
- 【环球时快讯】1TB手机不到3500元!网友评价真我GT Neo5:这让友商很难做
- 世界新消息丨又多了一种摸鱼手段 小红书网页版上线:左图右文 沉浸大屏
- 信息:首个教育圈ChatGPT来了!网易有道将推生成式AI:可批改作文
- 每日快播:创下历史第二!《霍格沃茨之遗》steam在线人数达48万
- 快看点丨哭笑不得!西班牙火车尺寸太大无法过隧道:白花2亿多欧元
- 成都现飞鸟撞树现象 网友疑灾害前兆!专家回应:想多了
- 环球今日报丨用ChatGPT做表格真香!只需动嘴提要求和复制粘贴
- 天天播报:部分玩家批评《塞尔达传说:王国之泪》新宣传片:太中庸没新意
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
【独家】.Net6对AOP的多种支持之IAsyncResourceFilter
环境:.Net6 Web项目 Mvc结构
(相关资料图)
开发工具: VS2022
IAsyncResourceFilter(资源缓存异步)
IAsyncResourceFilter扩展
ASP.NET Core6提供的是接口IAsyncResourceFilter
必须是自定义扩展通过一个特性的支持
作用是做异步缓存
执行顺序
实现的接口里有个委托参数,执行这个委托(就是执行构造方法和Action方法),所以需要以这个委托执行为界限,可在之前或者之后添加
需要执行的。
缓存构造步骤
1定义一个缓存区域
2请求过来后进行判断,如果有缓存返回缓存里的值,如果没有缓存则进行处理
3把处理的结果加入缓存中
实现IAsyncResourceFilter
1定义特性类
名称以Attribute结尾(标记特性时可以省略),继承Attribute、IAsyncResourceFilter(并实现该接口)
publicclassCustomCacheAsyncResourceFilterAttribute: Attribute, IAsyncResourceFilter
2定义静态字典做缓存
privatestaticDictionary
3 判断缓存
判断缓存中是否有key,如果有将值取出值
string key = context.HttpContext.Request.Path;
if (_dictionary.ContainsKey(key))
{
context.Result =(IActionResult) _dictionary[key];
}
如果没有值,则将值加入到缓存中去
else
{
//next是一个委托,执行委托Invoke();
//查看委托的返回类型为Task
// Task
//异步的时候,建设使用 async +await,
ResourceExecutedContext resource = await next.Invoke();//这句话的执行就是去执行控制器的构造函数+Action方法
if (resource.Result!=null)
{
_dictionary[key] = resource.Result;
}
}
完整代码示例
特性类
using Microsoft.AspNetCore.Mvc;using Microsoft.AspNetCore.Mvc.Filters;namespace WebApplication1.Untity.Filters{ ////// 使用特性进行扩展,实现IAsyncResourceFilter接口 /// public class CustomCacheAsyncResourceFilterAttribute : Attribute, IAsyncResourceFilter { //1定义一个缓存区域 //2请求过来后进行判断,如果有缓存返回缓存里的值,如果没有缓存则进行处理 //3把处理的结果加入缓存中 private static Dictionary_dictionary = new Dictionary (); public async Task OnResourceExecutionAsync(ResourceExecutingContext context, ResourceExecutionDelegate next) { Console.WriteLine("CustomCacheAsyncResourceFilterAttribute.OnResourceExecutionAsync Before"); string key = context.HttpContext.Request.Path; //在xx资源之前 if (_dictionary.ContainsKey(key)) { context.Result =(IActionResult) _dictionary[key]; } else { //next是一个委托,执行委托Invoke(); //查看委托的返回类型为Task // Task resource = next.Invoke(); //异步的时候,建设使用 async +await, ResourceExecutedContext resource = await next.Invoke();//这句话的执行就是去执行控制器的构造函数+Action方法 //在xx资源之后 if (resource.Result!=null) { _dictionary[key] = resource.Result; } } Console.WriteLine("CustomCacheAsyncResourceFilterAttribute.OnResourceExecutionAsync After"); } }}
Action
[CustomCacheAsyncResourceFilter] public IActionResult Index2() { { //此处是处理的业务逻辑,或返回的处理结果 省略.......... } ViewBag.Date = DateTime.Now.ToString("yyyy-MM-dd ss"); return View(); }
前端
@{ ViewData["Title"] = "Index2";}Index2
来自于控制器的计算结果:@ViewBag.Date
视图中实际计算的结果:@DateTime.Now.ToString("yyyy-MM-dd ss")
-
【独家】.Net6对AOP的多种支持之IAsyncResourceFilter
环境: Net6Web项目Mvc结构开发工具:VS2022IAsyncResourceFilter(资源缓存异步)IAsyncResourceFilter扩展ASP NETCore6提
来源: -
世界要闻:[threeJS]--- 外部导入的模型如何编程式实现帧动画以及调用模型自带的动画
1 代码中编写帧动画并且调用asyncfunctionkeyframeAni(object){consttimes=[0,2]; 关键帧时间数组,单位& 39;秒& 39;c
来源: 【独家】.Net6对AOP的多种支持之IAsyncResourceFilter
世界观天下!常见的python技术难点分享
当前速讯:Nodejs原型链污染
世界要闻:[threeJS]--- 外部导入的模型如何编程式实现帧动画以及调用模型自带的动画
情人节必备:德芙香浓黑巧12元/碗大促
逃离银河系!科学家在仙女星系中发现银河移民
世界快播:山东女子中淘宝彩票锦鲤:直播1小时刮594张彩票 中7170元
天天滚动:骁龙8+满血版、残血版差价非常大 一加揭秘:能差1个亿
防止技术垄断:昆仑万维宣布将在年内开源类ChatGPT代码
【全球播资讯】陕西旅游集团旗下景区春节期间累计接待超 200 万人次,这背后也有火山引擎 VeDI 的身影
当前热门:分享5个我不能没有的Vue.js库,不信你用不上
KingbaseES libstdc++.so.6 version 'CXXABI_1.3.8'问题处理
敏捷数据科学教程_编程入门自学教程_菜鸟教程-免费教程分享
MPI库并行Fortran程序:进程通讯
微头条丨女子带汉堡进星巴克被拦 称味道大会影响其他顾客 网友抵制
微信数据再多都够用 真我GT Neo5 1TB干到3499元:旗舰射门员
新资讯:14岁女孩连续玩手机81小时险猝死 专家提醒:家长一定要控制
【环球时快讯】1TB手机不到3500元!网友评价真我GT Neo5:这让友商很难做
世界新消息丨又多了一种摸鱼手段 小红书网页版上线:左图右文 沉浸大屏
快看:Android教程_编程入门自学教程_菜鸟教程-免费教程分享
天天日报丨vue2和vue3的区别有哪些?
docker学习
【全球热闻】剑指Offer 05. 替换空格(java解题)
信息:首个教育圈ChatGPT来了!网易有道将推生成式AI:可批改作文
每日快播:创下历史第二!《霍格沃茨之遗》steam在线人数达48万
快看点丨哭笑不得!西班牙火车尺寸太大无法过隧道:白花2亿多欧元
成都现飞鸟撞树现象 网友疑灾害前兆!专家回应:想多了
环球今日报丨用ChatGPT做表格真香!只需动嘴提要求和复制粘贴
Java基础三元运算符
世界快消息!Crystal Reports 教程_编程入门自学教程_菜鸟教程-免费教程分享
新资讯:再有人问你分布式事务,把这篇文章砸过去给他
有了 ETL 数据神器 dbt,表数据秒变 NebulaGraph 中的图数据
天天播报:部分玩家批评《塞尔达传说:王国之泪》新宣传片:太中庸没新意
环球热讯:比亚迪百万新车或搭载:余承东李想力挺增程式到底落不落后?专家一句真相
C# 学习async/await(个人理解)
30 个 IDEA 常用小技巧,应有尽有,让你的撸码效率直接起飞...
【天天聚看点】世界有史以来最大百科全书!《永乐大典》首次线上公开 免费看
华擎推出4X4 BOX-7000系列迷你主机:锐龙7000U、支持双USB4
小米Civi 2宣布全版本支持MIUI 14!系统丝滑流畅、更省电
女子手机放枕边突然冒烟自燃:曾因进水维修
饭店反向抹零多收1毛被罚4500元 网友点赞:四舍五入抹零有误都可举报
天天日报丨必知必会的设计原则——里氏替换原则
焦点速递!联想发布“问天”服务器品牌 向3S领域发起总攻 5年内冲击第一
焦点!谷歌版ChatGPT灾难级发布 市值一夜狂跌7000亿 熬夜网友:退钱!
快播:刘强东要建员工福利房?京东31亿北京拿地 1.6万元/平
当前快报:手工扯面+秘制辣油 西安饭庄油泼biangbiang面6.6元/盒大促
全球看点:任天堂港服“任亏券”开卖:《塞尔达传说:王国之泪》预售你买没
孔雀石的主要成分是什么?孔雀石的作用与好处有哪些?
空气能热水器的优缺点是什么?空气能热水器十大名牌排名
高一选科怎么选最好?高一期中考试总结范文
暑假带孩子去哪里旅游最好?我的快乐暑假作文模板
旅游高峰期相反的叫什么?旅游高峰期是哪几个月?
植物大战僵尸2闪退是怎么回事?植物大战僵尸2闪退解决办法
精彩看点:【学习笔记】Http请求方法总结
当前通讯!FCoE简单介绍
头条焦点:git在工作中如何使用?
热议:近期做的有意思的两道题,不知道是谁抄谁hhhhh
Java利用ChromeDriver插件网页截图(Wondows版+Linux版)
煲音箱与不煲的差别大吗?煲音箱音量开多大合适?
验证码总是错误是怎么回事?验证码总是错误怎么解决?
电脑屏幕尺子怎么打开?电脑屏幕尺子怎么使用?
技嘉主板怎么设置U盘启动?技嘉主板超频怎么设置?
热门看点:价格率先步入“次世代”:《塞尔达传说:王国之泪》涨至70美元
环球最资讯丨《王者荣耀》项羽、虞姬情人节皮肤来了:280元值吗?
当前关注:荣耀Magic5系列充电规格曝光:全系仅66W快充
环球热文:威马汽车CDO:特斯拉单车净利润是大众十倍 随时都能大降价
热资讯!次日达 冷酸灵泵式牙膏11.9元 清新口气、抗敏感
区块链安全前传之从Web3.0到创造自己的数字货币
天天快资讯:“采访”ChatGPT看看它对我们GreatSQL社区有什么看法
关于小程序变现方式你还知道哪些?
焦点热文:开发过程中安装的依赖包
每日热议!Spring源码第一章:创建简单的 Bean 容器
买房不如买车、50万交利息税等:年轻人为什么越来越反感专家?
【新要闻】集成ChatGPT威力惊人:微软Bing下载量激增10倍
环球热门:QLC便宜即是王道 1728个SSD组成106PB超大硬盘阵列
环球速看:又有巨头扛不住了!迪士尼宣布裁员7000人:省了55亿成本
日本耗资万亿的国产大飞机失败内幕:重大安全缺陷 美国拒绝发证
当前动态:《三国演义》“关羽”陆树铭去世百天 妻子晒全家福:网友感叹
要涨价!《塞尔达传说:王国之泪》新实机出炉:能造汽车、飞机了
每日消息!趋势难挡!美国、法国等公司推行每周4天工作制:不减薪 提升幸福度
天天即时看!比ChatGPT差很多 谷歌Bard AI丢人了:回答错误致股价大跌
读Java实战(第二版)笔记05_Collection API的增强功能
谷歌首公布Android 14:续航、流畅度激增、对折叠屏更好支持!
全球快播:Linux-ansible
天天视点!Python教程:selenium模块用法教程
世界报道:带你体验下来自人工智能ChatGPT的魅力
【全球热闻】小白也能做应用(一)之fusion app介绍
高层次综合器(Vivado HLS)的设计流程[原创www.cnblogs.com/helesheng]
变天了!x86 PC陨落:ARM大暴走
高通憋出新大招:4G杀手来了
国美电器多个破产申请被驳回 苏泊尔在列
当前关注:脸都不要了!《黑棉花:悟能》无耻碰瓷《黑神话:悟空》
Intel中国特供新U i7-13790F开卖:缓存多3MB 竟贵了150元!
当前快报:【Windows】Microsoft Store无法打开:关闭自动更新(请联系系统管理员更改此设置)
最资讯丨吴京与粉丝合照被滤镜坑惨:没有明星能逃过美颜摧残
环球时讯:明天上映!《流浪地球2》发布港版预告片:MOSS竟然说英文
资讯:log4cxx配置日期回滚策略中增加MaxFileSize属性
天天看点:MySQL索引的基本理解
当前关注:强大的Excel工具,简便Vlookup函数操作:通用Excel数据匹配助手V2.0
通过python,将excel中的数据写入二维列表