在MVC的请求管道 并不是  asp.net core的请求管道。所以说Filter是专用于MVC的
贯穿特性,横穿关注点。比如授权、日志

这里的Authorize其实就是一个Filter,主要用来授权的


比如这个Filter,我们要求必须使用Https才可以访问

授权在整个管道的最前面
action过滤器是在Action被调用之前和之后,这个时候ModelBing已经发生了。绑定完之后就可以操纵这些参数了。
Rsult:在Action的IActionResult之前和之后,通过它可以控制结果的执行,也可以短路结果的执行


对应的五种类型有物种的子接口

新建一个Filter的文件夹

LogAsyncResourceFilter 这个过滤器主要用来做日志

F12 看一下IResourceFilter这个接口的源码,接口就是实现的IFilterMetadata这个接口。

所以我们只需要实现IResourceFilter 就可以了。实现接口的两个方法

OnResourceExecuting是在授权过滤器之后,参数上下文包含了httpContext还有路由的一些细节。以及当前这个Action的信息。
因为这个Filter可以作用于Action

OnResourceExecuted:MVC管道剩余部门执行完后,才会执行。参数Context和上面不一样,比如说还返回了ActionResult的信息

异步版本

它有个参数是Delegate委托next里面包装着整个MVC剩余的管道


执行next方法 就是执行下一步的操作。这样就和同步的版本对应上了



所有的管道过滤器调用完成之后调用最后这句

尽量还是使用同步的版本

应用Filter

还需要继承Attribute

异步的也需要继承


运行页面查看控制台:


应用Controller级别

打开默认页面后,再访问以下Privacy这个页面

先注释掉

使用全局
两种方式

第三种:

视频作者习惯于最后一种

执行顺序

最新文章

  1. 【C-数据类型 常量 变量】
  2. vs xamarin android 监听返回键退出程序
  3. InitializingBean afterPropertiesSet
  4. Latex技巧
  5. node在安装完成后,出现node不是内部或外部命令
  6. [ffmpeg 扩展第三方库编译系列] 关于libvpx mingw32编译问题
  7. 备忘--简单比较SPSS、RapidMiner、KNIME以及Kettle四款数据分析工具
  8. bootstrap 笔记01
  9. 如果一个Object对象可能是集合或者数组那么如何对其进行迭代
  10. Robotium源码分析之Instrumentation进阶
  11. 【Android入门】一个App学会安卓开发
  12. 第一行代码:以太坊(2)-使用Solidity语言开发和测试智能合约
  13. VScode-Common-Shortcut
  14. sqlite3 查询表
  15. php 获取文件后缀最简单的方法
  16. vivado 调用UE
  17. 你真的了解View的坐标吗?
  18. ARM汇编语言
  19. Webpack + React 开发 03 props
  20. Django rest framwork

热门文章

  1. ubuntu 14.04 LTS 安装webbentch压力測试工具
  2. 运维基础-Linux发展史、安装、基本操作
  3. Android 中View仅仅能接收到ACTION_DOWN无法接收ACTION_MOVE和ACTION_UP解决的方法
  4. kubernetes调度之污点(taint)和容忍(toleration)
  5. antd移动端onClick事件点击无效
  6. live555 RTSP推送到Darwin出现404错误的解决
  7. libcurl理解和使用
  8. 最新版本号MYSQL官网下载地址可是必需要注冊后才干下载
  9. php高级技巧总结
  10. linux 中mmap的用法