ASP.NET MVC中的拦截器

来源:互联网 发布:mysql 64位下载 win10 编辑:程序博客网 时间:2024/06/06 02:53

在ASP.NET MVC中,有三种拦截器:Action拦截器、Result拦截器和Exception拦截器,

所谓的拦截器也没有什么的,只是写一个类,继承另一个类和一个接口,顺便实现接口里面的方法而以...

public class ExceptionFillters : FilterAttribute,IExceptionFilter  {  //发生异常时会执行这段代码  public void OnException(ExceptionContext filterContext)  {  //在这里你可以记录发生异常时你要干什么,比例写日志  //这一行告诉系统,这个异常已经处理了,不用再处理  filterContext.ExceptionHandled = true;  }  }


 

public class ActionFillters : FilterAttribute, IActionFilter  {      public void OnActionExecuted(ActionExecutedContext filterContext)     {        //执行action后执行这个方法 比如做操作日志     }     public void OnActionExecuting(ActionExecutingContext filterContext)     {        //执行action前执行这个方法,比如做身份验证     }  }


 

public class ResultFillters : FilterAttribute, IResultFilter  {  public void OnResultExecuted(ResultExecutedContext filterContext)  {  //执行完action后跳转后执行  }  public void OnResultExecuting(ResultExecutingContext filterContext)  {  //执行完action后跳转前执行  }  }


 

使用的时候更是方便,利用C#里面的特性,真是方便极了。

[ResultFillters]  [ActionFillters]  [ExceptionFillters]  public ActionResult Index()  {  ViewData["Message"] = "Welcome to ASP.NET MVC!";  return View();  }


看到了沒有,只要在action上面加三个Attibute标记,一切都就都完成了,

其它的事情都是讓框架幫你完成了,相對在webForm裡面想使用Aop,這裡可以簡單百倍呀!試一下吧,

只看不練一下子就會忘記的,這裡只是給出核心代码,朋友自己试一下吧!

http://blog.csdn.net/lizhao1226/article/details/6264918

0 0
原创粉丝点击