ASP.NET MVC2.0 自定义filters

2013 年 2 月 18 日3670

欢迎进入.NET社区论坛,与300万技术人员互动交流 >>进入

  今天大家共同学习下ASP.NET MVC2.0中自定义filters,这一节主要学习下ActionFilterAttribute,

  ActionFilterAttribute继承IActionFilter, IResultFilter接口,并且继承FilterAttribute类。

  ActionFilterAttribute可以监控action执行过程中所有阶段,包括日志,异常处理等功能。

  主要包括以下四个重载方法

  OnActionExecuting,OnActionExecuted,OnResultExecuting,OnResultExecuted

  1.OnActionExecuting是在action开始前执行

  用于身份验证和服务器端缓存输出

  2. OnActionExecuted在action结束后执行

  主要用于异常处理

  3. OnResultExecuting在返回result前执行

  主要用于设置客户端缓存和服务器端压缩

  4. OnResultExecuted在返回result后执行

  主要用于异常处理和页面尾部输出调试信息

  以下两个DEMO,将展示actionfilter的具体用法

  demo1:

  在这个DEMO中我们将展示action在各个阶段的执行时间,并在页面中输出。

  首先我们定义一个ActionLogAttribute类

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Web;

  using System.Web.Mvc;

  namespace MvcAppOne.ActionFilters

  {

  public class ActionLogAttribute : ActionFilterAttribute

  {

  /// <summary>

  /// 表示actionID

  /// </summary>

  public int ID

  {

  get;

  set;

  }

  /// <summary>

[1]

【责编:peter】

0 0