ASP.NET MVC入门 9、Action Filter 与 内置的Filter实现(介绍)

有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支 持这个,ASP.NET MVC允许你创建action过滤器。Action过滤器是自定义的 Attributes,用来标记添加Action方法之前或者Action方法之后的行为到控制器 类中的Action方法中。

一些可能用到Action过滤器的地方有:

日 志,异常处理

身份验证和授权 - 限制用户的访问

输出缓存 - 保 存一个Action的结果

网络爬虫的过滤

本地化

动态Action - 将一个Action注入到控制器中

ASP.NET MVC为我们提供了下面的几个 Filter接口:

IActionFilter

IAuthorizationFilter

IExceptionFilter

IResultFilter

要实现一个Filter,我们需要继承自FilterAttribute 类同时实现上面的一个或几个接口:

public class MyFilter : FilterAttribute, IActionFilter, IResultFilter
{
}

这几个接口提供的方法如下:


上图的方法和Filter接口对应的方法按名称对号入座就可以。

时间: 2025-01-01 16:59:39

ASP.NET MVC入门 9、Action Filter 与 内置的Filter实现(介绍)的相关文章

ASP.NET MVC入门 10、Action Filter与内置的Filter实现(实例-防盗链)

前一篇中我们已经了解了Action Filter与内置的Filter实现,现在我们就来 写一个实例.就写一个防盗链的Filter吧. 首先继承自FilterAttribute 类同时实现IActionFilter接口,代码如下: /**//// <summary>/// 防盗链Filter./// </summary>public class AntiOutSiteLinkAttribute : ActionFilterAttribute, IActionFilter{ publi

ASP.NET MVC 入门介绍 (上)

参考文章 ASP.NET MVC Overview. 1. MVC模式 MVC模式是一种软件架构模式.它把软件系统分为三个部分:模型(Model),视图(View)和控制器(Controller).MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式.MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能.除此之外,

一起谈.NET技术,ASP.NET MVC 入门介绍 (上)

参考文章 ASP.NET MVC Overview. 1. MVC模式 MVC模式是一种软件架构模式.它把软件系统分为三个部分:模型(Model),视图(View)和控制器(Controller).MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式.MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能.除此之外,

ASP.NET MVC入门 8、ModelState与数据验证

ViewData有一个ModelState的属性,这是一个类型为ModelStateDictionary的 ModelState类型的字典集合.在进行数据验证的时候这个属性是比较有用的.在 使用Html.ValidationMessage()的时候,就是从ViewData.ModelState中检测是否 有指定的KEY,如果存在,就提示错误信息.例如在前一篇文章ASP.NET MVC 入门 7.Hellper与数据的提交与绑定中使用到的UpdateModel方法: 我们在View中使用Html.

返璞归真 asp.net mvc (3) - Controller/Action

原文:返璞归真 asp.net mvc (3) - Controller/Action[索引页][源码下载] 返璞归真 asp.net mvc (3) - Controller/Action 作者:webabcd 介绍 asp.net mvc 之 Controller 和 Action Controller 类必须以字符串 "Controller" 做类名称的结尾,字符串 Controller 之前的字符串为 Controller 的名称,类中的方法名为 Action 的名称 Acti

Asp.net mvc 2 in action 笔记-1 概述、Model

受Rails成功的影响,很多的开发框架都加入了rails成功的MVC思想,如.net世界的Castle Subsonic等,微软发布的框架Asp.net MVC作为后来者,吸取了很多好的思想,而且作为微软的官方支持,代码开源,因此估计asp.net的Web开发世界这个会成为主流. 本系列是看的图书<Asp.net mvc 2 in action>的一个笔记整理 约定 ■ Content-类似CSS 和图片的静态文件 ■ Controllers-控制器类 ■ Models-模型类 ■ Scrip

ASP.NET MVC 入门介绍 (下)

相关文章:ASP.NET MVC 入门介绍 (上) 接上文,我们来完善验证功能.在System.ComponentModel.DataAnnotations命名空间中,已经有了一些基本的属性类来实现验证功能,只要把这些属性加到Model的字段上就可以了.具体的属性类可以查MSDN, 下面给出一个例子: public class Movie{ [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]public int ID { get;

一起谈.NET技术,ASP.NET MVC 入门介绍 (下)

相关文章:ASP.NET MVC 入门介绍 (上) 接上文,我们来完善验证功能.在System.ComponentModel.DataAnnotations命名空间中,已经有了一些基本的属性类来实现验证功能,只要把这些属性加到Model的字段上就可以了.具体的属性类可以查MSDN, 下面给出一个例子: public class Movie{ [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]public int ID { get;

ASP.NET MVC 入门 4、Controller与Action

Controller是MVC中比较重要的一部分.几乎所有的业务逻辑都是在这里进行 处理的,并且从Model中取出数据.在ASP.NET MVC Preview5中,将原来的 Controller类一分为二,分为了Controller类和ControllerBase类.Controller 类继承自ControllerBase类,而ControllerBase实现是了IController接口. ControllerBase实现了IController接口的Execute方法,在Route匹配到