ASP.NET MVC笔记 之 Action 过滤器

Action 过滤器在代码中体现为添加到Action上方的属性,MVC框架包含了一些过滤器,如:

OutputCache –指示Controller在指定时间内缓存返回的结果。

HandleError –处理Contrller中Action抛出的异常

Authorize – 约束特定用户或角色对Action的访问

使用Action 过滤器

Action 过滤器不仅可以控制单个Action,也可以控制整个Contrller。同时,一个Action可以应用多个过滤器。比如:

public class DataController : Controller

{

[OutputCache(Duration=10)]

public string Index()

{

return DateTime.Now.ToString("T");

}

}

这个Action返回了当前时间,但是你若在10秒钟内刷新界面,你会一直得到同一个值,因为这里使用了OutputCache(Duration=10)。

过滤器的类型

ASP.NET MVC 框架支持以下几种过滤器:
    1、Authorization 过滤器– 实现了 IAuthorizationFilter 接口。这一类的过滤器用来实现用户验证和对Action的访问授权。比如Authorize 就属于Authorization 过滤器。
    2、Action 过滤器– 实现了 IActionFilter 接口。它可以包含一些Action执行前或者执行后的逻辑,比如有一些过滤器专门用来修改Action返回的数据。
    3、Result 过滤器– 实现了 IResultFilter 接口。它可以包含一些view result生成前或者生成后的逻辑,比如有一些过滤器专门用来修改视图向浏览器展现前的结果。
    4、Exception 过滤器– 实现了IExceptionFilter 接口。它用以用来处理Action或者Result的错误,也可以记录错误。
    过滤器的默认执行顺序也和上面的列表相同,比如Authorization 过滤器会先于Action 过滤器执行,而Exception 过滤器总会在最后执行。当然你也可以根据需要通过Order属性设定过滤器执行的顺序。

继续>>下一页[第1页][第2页]

时间: 2024-07-30 02:19:47

ASP.NET MVC笔记 之 Action 过滤器的相关文章

ASP.NET MVC笔记之Action过滤器

Action 过滤器在代码中体现为添加到Action上方的属性,MVC框架包含了一些过滤器,如: OutputCache –指示Controller在指定时间内缓存返回的结果. HandleError –处理Contrller中Action抛出的异常 Authorize – 约束特定用户或角色对Action的访问 另外你还可以自己定义过滤器,比如:你想使用自定义的验证机制:你想修改Action返回的数据等等 . 使用Action 过滤器 Action 过滤器不仅可以控制单个Action,也可以控

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 (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笔记 -5 MvcContrib 测试和其他

MvcContrib 第5章 MvcContrib Grid 和带进度的文件上载的使用 MVcContrib是社区开源的asp.net mvc增强和扩展库,如其中的Grid,即可高效的进行设计又可灵活的控制表格的布局[比Web Form 的GridView简化了不少] 在Codeplex.com上可以找到该项目,上面有文档,特别对于Grid有详细的例子参考,如下图 例子在MVCContrib.Extras.release.zip中 以下是帮助[在MVCContrib.release.zip中]

Asp.net mvc 2 in action 笔记- 4 自动代码生成、校验Validation

自动代码生成 T4 (Text Template Transformation Toolkit) is a little-known feature of Visual Studio. It's a code-generation toolkit, and its templates allow us to customize how files are generated using a familiar syntax. T4MVC Out of the box, ASP.NET MVC co

为ASP.NET MVC扩展异步Action功能

异步请求处理是ASP.NET 2.0中引入的高级特性,它依托IO Complete Port,对于提高IO密集型应用程 序的吞吐量非常重要(详见原理描述和性能测试).但是目前ASP.NET MVC框架缺少异步Action功能,这 也就是老赵经常挂在嘴边的那个"目前ASP.NET MVC所缺少的非常重要的功能".在TechED 2008 China的 Session中我曾经给出过一个所谓的"解决方案",但是它复杂性之高使那个解决方案有太多限制.为了 弥补TechED上

学习ASP.NET MVC(三) Controller/Action 深入解析与应用实例

一.摘要 一个Url请求经过了Routing处理后会调用Controller的Action方法. 中间的过程是怎样的? Action方 法中返回ActionResult对象后,如何到达View的? 本文将讲解Controller的基本用法, 深入分析 Controller的运行机制, 并且提供了创建所有类型Action的代码. 值得学习ASP.NET MVC时参考. 二.承上启下 在上一篇文章中, 我已经学会了如何使用Routing获取Controller和Action, 随后的程序会调用 Co

使用ASP.NET MVC 4 Async Action+jQuery实现消息通知机制的实现代码_实用技巧

这两天在使用Asp.net MVC 4开发COMET消息通知机制,在后端使用异步线程对消息进行订阅,客户端通过AJAX长连接请求MVC中的ACTION,如:http://localhost/event/imageSet,即表示获取ImageSet对象的变更消息(新增,更新和删除消息). 1.事件消息的类IEventEntity<TEntity>类的定义 复制代码 代码如下: public interface IEntityEvent<TEntity>    {        //变

Asp.net mvc 2 in action 笔记-3 Areas AJAX AutoMapper

Areas 第21.22章 分组管理Controller 关键点 在Global.asax.cs增加AreaRegistration.RegisterAllAreas(); 重载AreaRegistration 的RegisterArea函数,定义路由 其他都和普通的Controller一样,每个Area下的目录也包含MVC目录 方便移植的Area:程序逻辑和视图等打包 在一个库文件中,其他我web引用即可使用,提供了例子实现. AJAX 第12.27章 MVC项目默认集成了JQuery库和Mi