欢迎大家阅读《朝夕Net社区技术专刊》第4期

我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为忠实读者,文末福利不要错过哦!

01

PART

CoreWebApi五大Filter

1. AuthorizeAttribute:权限Filter;
2.IResourceFilter资源Filte;
3.IExceptionFilter/IAsyncExceptionFilter异常Filter;
4.ActionFilterAttribute, IActionFilter, IAsyncActionFilter 行为Filter
5.ResultFilterAttribute, IResultFilter, IAsyncResultFilter 结果Filter

02

PART

CoreFilter比较于.AspNetMVCFilter:

Asp.Net MVC的Filter一共只有三个:ActionFilterAttribute/AuthorizeAttribute/ExceptionFilter,这三个Filter都是进入到Asp.NetMVC框架的Filter;

Core下的Filter新增了资源ResourceFilter;而且执行顺序也有所改变;同时Core环境因为已经全程支持了IOC容器;所以在Filter中也支持了传入参数;以下两个图比较Asp.NetMVCFilter和CoreWebApiFilter的区别:

Asp.NetMVCFilter:可联系助教老师(微信:ZhaoxiNet007)获取代码测试执行;

.NetCoreFilter

03

PART

CoreFilter执行顺序:

在事例代码中分别建立了:可联系助教老师(微信:ZhaoxiNet007)获取代码测试执行;

CustomActionFilterAttribute:

CustomAuthorizeAttribute:

CustomExceptionFilterAttribute:

CustomResourceFilterAttribute:

CustomResultFilterAttribute:

五个Filter;分别标记在FilterController控制器的ShowFilter方法;

此处没有注册CustomAuthorizeAttribute,权限部分在Core中做了大更新;后续出主题文档,此处仅注册CustomActionFilterAttribute、CustomExceptionFilterAttribute、CustomResourceFilterAttribute、CustomResultFilterAttribute,调试结果按照顺序如下图:

图1:测试请求Api:ShowFilter以后,先进入到CustomResourceFilterAttribute中的OnResourceExecuting方法;

图2:再进入到控制器构造函数;说明在构造控制器之前就进入到ResourceFilter中去了;

图3:再进入到CustomActionFilterAttribute中的OnActionExecuting方法;

图4:再进入到FilterControllerK控制器的ShowFilter方法;

图5:再进入到CustomActionFilterAttribute中的OnActionExecuted方法;

图6:再进入到CustomResourceFilterAttribute的OnResourceExecuted方法;

以上六张图详解了Core中的Filter执行顺序:是一个俄罗斯套娃。

关于Core中新增Filter的职责分析:

1. AuthorizationFilter权限Filter:此处虽未注册使用,但是他是最先执行的,并且没有进入到MVC内部;这是Core的大更新,也是大亮点。如果系统需要做授权,那在请求执行方法的时候,应该先判断权限,如果没有权限,后续的动作没有必要进行,更没有必要进入到MVC中去;直接就返回了;代码少走了“冤枉路”,这是一个提高性能的表现;此次文档中没有重于介绍哪几种授权方式,因为在Core中的授权比较复杂,后续有专题文档提供;可联系助教老师(微信:ZhaoxiNet007)获取;

2.ResourceFilter资源Filter,在授权执行后执行,有OnResourceExecuting方法,和OnResourceExecuted方法,此处适合做缓存;可能同学会疑问,如果做缓存在AuthorizationFilter权限Filter中也能实现呢;确实是可以的,不过框架是为了专人做专事,在授权成功以后,专门提供一个Filter来做缓存;

下期预告

【朝夕Net社区技术专刊】第5期:

Filter的各种注册方式,以及如何完成Filter的依赖注入

本期福利

如果看完本文让你有所收获,
别忘转发扩散,和更多人分享学习的快乐!
扫码关注公众号朝夕Net社区回复”第四期“
即可获取本期配套教学视频及课件!

往期内容:

1【朝夕Net社区技术专刊】Core3.1 WebApi集群实战专题---WebApi环境搭建运行发布部署篇

2【朝夕Net社区技术专刊】Core3.1 WebApi集群实战专题-Corre3.1WebApi配置集成日志/配置Swagger

3【朝夕技术专刊】WebApi部署多服务器配置Nginx负载均衡

《朝夕Net社区技术专刊》持续更新,欢迎扫码关注

【朝夕技术专刊】Core3.1WebApi_Filter详解相关推荐

  1. 高可用集群技术之corosync应用详解(一)

    Corosync概述: Corosync是集群管理套件的一部分,它在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等.它是一个新兴的软件,2008年推出,但其实它并不是一个真正意义 ...

  2. 大数据技术Hbase 和 Hive 详解

    目录 两者的特点 各自的限制 应用场景 大数据技术Hbase 和 Hive 详解, 今天给大家介绍一下关于零基础学习大数据视频教程之HBASE 和 HIVE 是多么重要的技术,那么两者有什么区别呢 ? ...

  3. 【转载】城域网IPv6过渡技术—NAT444与DS-lite详解

    城域网IPv6过渡技术-NAT444与DS-lite详解 转自 https://network.51cto.com/art/201311/419211.htm### 文章目录 城域网IPv6过渡技术- ...

  4. 《猿族崛起》动作捕捉技术及制作流程详解

    前言: 其实最近两个月发布的原创文章,最初动机都是来自于<猿族崛起>,之前并没有太关注这部片子,后来偶然在火星时代上看到Weta发布的特效制作花絮,然后简介说是启用了<阿凡达> ...

  5. 美团技术团队:实例详解机器学习如何解决问题

    参考文献: 1. 美团技术团队:实例详解机器学习如何解决问题 2. 美团团队技术博客

  6. 专科计算机ppt论文,计算机应用技术专业毕业论文PPT详解.ppt

    计算机应用技术专业毕业论文PPT详解 第五章 管理员界面 * 5.1 注册用户管理界面 当注册用户在首页的导航栏里点击"注册用户注册"时,系统跳转至此页. * 5.2 新闻信息管理 ...

  7. VINS技术路线与代码详解

    VINS技术路线 写在前面:本文整和自己的思路,希望对学习VINS或者VIO的同学有所帮助,如果你觉得文章写的对你的理解有一点帮助,可以推荐给周围的小伙伴们,当然,如果你有任何问题想要交流,欢迎随时探 ...

  8. 华为HCIE认证考试费多少,华为技术网络工程师技术细节详解 什么是PPP MP接口

    华为HCIE认证考试费多少,华为技术网络工程师技术细节详解 什么是PPP MP接口 华为HCIE课程中,提到的一种接口类型PPP MP接口是什么? MP是Multi-Link PPP的缩写,是将多个物 ...

  9. 【朝夕技术专刊】Core3.1WebApi_Filter-Authorize详解

    欢迎大家阅读<朝夕Net社区技术专刊>第6期 我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为忠实读者,文末福利不要错过哦! 前言: 本 ...

最新文章

  1. Eclipse建立webservice客户端
  2. Latex中文期刊论文模板
  3. hadoop权威指南-MapReduce气象程序实现过程
  4. python——numpy——roll()函数
  5. 浅谈“从神经网络——迁移学习引发的一系列的思考”
  6. Scrapy-豆瓣电影Top250
  7. 阿里巴巴《Java开发手册(黄山版)》阅读笔记
  8. 邓凡平WIFI学习笔记1:netd
  9. C / C++ function - rand
  10. Macs Fan Control 官方正版中文网站 控制苹果电脑上风扇工具软件
  11. Python猜数字项目源代码
  12. Mac上使用docker环境进行C++开发的实践
  13. flex布局对行内子元素的影响
  14. java画板小demo
  15. 如何在C加加的面向对象写石头剪刀布游戏
  16. windows副本不是正版怎么解决_怎么才能创作出打动人的内容?解决别人的问题,而不是自己的问题...
  17. 如何使用 R 从 Internet 下载文件
  18. 规则引擎——IBM ODM(ILog)——基本使用步骤
  19. 缺流量时代,App们需要如何突围?
  20. webstorm和网站制作

热门文章

  1. hadoop:could only be replicated to 0 nodes, instead of 1
  2. 如何打卡后缀为3ds的文件
  3. UVa 12100 - Printer Queue
  4. Commons里的DButil
  5. mysql 删除5天前 备份_mysql自动备份删除5天前的备份
  6. javascript杂记
  7. 网站常见漏洞-- XSS攻击
  8. Highcharts数据表示(3)
  9. 【转】《从入门到精通云服务器》第六讲—OpenStack基础
  10. 【转载】分布式系统的理解