mvc的过滤器学习-资料查询
标题:Filtering in ASP.NET MVC
地址:https://docs.microsoft.com/en-us/previous-versions/aspnet/gg416513(v=vs.98)
ASP.NET MVC支持以下类型的操作过滤器:
授权过滤器。这些实现IAuthorizationFilter并做出关于是否执行操作方法的安全决策,例如执行身份验证或验证请求的属性。的AuthorizeAttribute类和RequireHttpsAttribute类是一个授权滤波器的例子。授权过滤器在任何其他过滤器之前运行。
动作过滤器。这些实现IActionFilter并包装动作方法执行。该IActionFilter接口声明了两个方法:OnActionExecuting和OnActionExecuted。OnActionExecuting在action方法之前运行。OnActionExecuted在action方法之后运行,并且可以执行其他处理,例如向action方法提供额外数据,检查返回值或取消action方法的执行。
结果过滤器。这些实现IResultFilter并包装ActionResult对象的执行。IResultFilter声明了两种方法:OnResultExecuting和OnResultExecuted。OnResultExecuting在执行ActionResult对象之前运行。OnResultExecuted在结果之后运行,并且可以执行结果的其他处理,例如修改HTTP响应。所述OutputCacheAttribute类是一个结果滤波器的一个例子。
异常过滤器。这些实现IExceptionFilter并在执行ASP.NET MVC管道期间抛出未处理的异常时执行。异常过滤器可用于记录或显示错误页面等任务。所述HandleErrorAttribute类是一个例外滤波器的一个例子。
的控制器类实现每个过滤接口。您可以通过覆盖控制器的On <Filter>方法来实现特定控制器的任何过滤器。例如,您可以覆盖OnAuthorization方法。可下载示例中包含的简单控制器会覆盖每个过滤器,并在每个过滤器运行时写出诊断信息。您可以在控制器中实现以下On <Filter>方法:
ASP.NET MVC中提供的过滤器
ASP.NET MVC包括以下过滤器,这些过滤器作为属性实现。可以在操作方法,控制器或应用程序级别应用过滤器。
AuthorizeAttribute。通过身份验证和可选的授权来限制访问。
HandleErrorAttribute。指定如何处理操作方法引发的异常。
注意
除非在Web.config文件中启用了customErrors元素,否则此过滤器不会捕获异常。
OutputCacheAttribute。提供输出缓存。
RequireHttpsAttribute。强制通过HTTPS重新发送不安全的HTTP请求。
如何创建过滤器
您可以通过以下方式创建过滤器:
覆盖一个或多个控制器的On <Filter>方法。
创建一个派生自ActionFilterAttribute的属性类,并将该属性应用于控制器或操作方法。
使用过滤器提供程序(FilterProviders类)注册过滤器。
使用GlobalFilterCollection类注册全局过滤器。
过滤器可以实现抽象的ActionFilterAttribute类。某些过滤器(如AuthorizeAttribute)直接实现FilterAttribute类。始终在操作方法运行之前调用授权过滤器,并在所有其他过滤器类型之前调用。其他操作过滤器(如OutputCacheAttribute)实现抽象ActionFilterAttribute类,该类允许操作过滤器在操作方法运行之前或之后运行。
您可以使用操作方法或控制器以声明方式使用filter属性。如果属性标记控制器,则操作筛选器将应用于该控制器中的所有操作方法。
以下示例显示了HomeController类的默认实现。在示例中,HandleError属性用于标记控制器。因此,过滤器适用于控制器中的所有操作方法。
mvc的过滤器学习-资料查询的更多相关文章
- MVC不错的学习资料
MVC不错的学习资料: http://www.cnblogs.com/darrenji/
- ABP 教程文档 1-1 手把手引进门之 AngularJs, ASP.NET MVC, Web API 和 EntityFramework(官方教程翻译版 版本3.2.5)含学习资料
本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 转载请注明出处:http://www.cnblogs.com/yabu007/ 谢谢 官方文档分四部分 一. 教程文档 二.ABP 框架 三. ...
- .NET Core 学习资料精选:进阶
.NET 3.0 这个月就要正式发布了,对于前一篇博文<.NET Core 学习资料精选:入门>大家学的可还开心?这是本系列的第二篇文章:进阶篇,喜欢的园友速度学起来啊. 对于还在使用传统 ...
- 【转】iOS超全开源框架、项目和学习资料汇总
iOS超全开源框架.项目和学习资料汇总(1)UI篇iOS超全开源框架.项目和学习资料汇总(2)动画篇iOS超全开源框架.项目和学习资料汇总(3)网络和Model篇iOS超全开源框架.项目和学习资料汇总 ...
- iOS超全开源框架、项目和学习资料汇总--数据库、缓存处理、图像浏览、摄像照相视频音频篇
iOS超全开源框架.项目和学习资料汇总--数据库.缓存处理.图像浏览.摄像照相视频音频篇 感谢:Ming_en_long 的分享 大神超赞的集合,http://www.jianshu.com/p/f3 ...
- Wmyskxz文章目录导航附Java精品学习资料
前言:这段时间一直在准备校招的东西,所以一晃眼都好长时间没更新了,这段时间准备的稍微好那么一点点,还是觉得准备归准备,该有的学习节奏还是要有..趁着复习的空隙来整理整理自己写过的文章吧..好多加了微信 ...
- 【微服务】使用spring cloud搭建微服务框架,整理学习资料
写在前面 使用spring cloud搭建微服务框架,是我最近最主要的工作之一,一开始我使用bubbo加zookeeper制作了一个基于dubbo的微服务框架,然后被架构师否了,架构师曰:此物过时.随 ...
- .NET Core 学习资料精选:入门
开源跨平台的.NET Core,还没上车的赶紧的,来不及解释了-- 本系列文章,主要分享一些.NET Core比较优秀的社区资料和微软官方资料.我进行了知识点归类,让大家可以更清晰的学习.NET Co ...
- MVC系列——MVC源码学习:打造自己的MVC框架(四:了解神奇的视图引擎)
前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾. ...
随机推荐
- 【Verilog HDL】赋值语句之阻塞赋值方式与非阻塞赋值方式
刚开始接触Verilog HDL语言时,这种硬件描述语言有一点与软件的程序设计语言直观上的最大区别大概就是这个赋值语句了(这里只是强调直观上的最大区别,事实上的最大区别并非如此). Verilog H ...
- Docker-CE-CentOS安装&更新&卸载
准备工作 系统准备 要求centos-7以上版本(包含7) 开启centos-extras 在线安装方式要求 卸载旧版本 卸载旧版本docker yum remove docker \ docker- ...
- MvcPager.js在特定业务场景下的问题解决
用到了MvcPager.js,在一个常见的场景中出现了不能POST表单数据的问题,场景描述如下: 日期:2012-12-12 编号:***** ...
- 大数据入门第九天——MapReduce详解(五)mapJoin、GroupingComparator与更多MR实例
一.数据倾斜分析——mapJoin 1.背景 接上一个day的Join算法,我们的解决join的方式是:在reduce端通过pid进行串接,这样的话: --order ,,P0001, ,,P0001 ...
- WPF 自定义ComboBox样式,自定义多选控件
原文:WPF 自定义ComboBox样式,自定义多选控件 一.ComboBox基本样式 ComboBox有两种状态,可编辑和不可编辑状态.通过设置IsEditable属性可以切换控件状态. 先看基本样 ...
- 洛谷 P3795 钟氏映射
洛谷 P3795 钟氏映射 题目背景 2233年,CSSYZ学校的数学老师兼数学竞赛顾问钟JG已经2200+岁啦! 为了庆生,他或她给广大人民群众出了道题. 题目描述 设集合N=M={x∣x∈N+, ...
- 1 nodejs
重点 :
- [BZOJ3167][HEOI2013]SAO[树dp+组合数学]
题意 给定 \(n\) 个节点和 \(n-1\) 个限制,每个节点有一个权值,每个限制形如:\(a_i< a_j\) ,问有多少个 \(1\) 到 \(n\) 排列满足要求. \(n\leq 1 ...
- How to access business objects with their related ObjectSpaces (Multi-Database Environment)
https://www.devexpress.com/Support/Center/Question/Details/T565897/how-to-access-business-objects-wi ...
- Loadrunner安装使用入门
1. Loadrunner11安装指南 1)支持的Windows环境 2)安装 开始安装时会提示需要以下软件: .NET Framework v3.5 SP1 Microsoft WSE 2.0 SP ...