zoukankan      html  css  js  c++  java
  • ASP.NET MVC中的拦截器

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

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

    [c-sharp] view plaincopy

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

    [c-sharp] view plaincopy

    1. public class ActionFillters : FilterAttribute, IActionFilter 
    2. public void OnActionExecuted(ActionExecutedContext filterContext) 
    3.     { 
    4. //执行action后执行这个方法 比如做操作日志
    5.     } 
    6. public void OnActionExecuting(ActionExecutingContext filterContext) 
    7.     { 
    8. //执行action前执行这个方法,比如做身份验证
    9.     } 

    [c-sharp] view plaincopy

    1. public class ResultFillters : FilterAttribute, IResultFilter 
    2. public void OnResultExecuted(ResultExecutedContext filterContext) 
    3. //执行完action后跳转后执行
    4. public void OnResultExecuting(ResultExecutingContext filterContext) 
    5. //执行完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

  • 相关阅读:
    button标签和input button
    获取select标签的值
    window.loaction和window.location.herf
    数组重复计数,对象方法
    js对象详解
    面试经典题型整理
    一些js小知识点整理
    事件委托能够优化js性能
    网页加载的一般顺序
    http状态码
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/3791833.html
Copyright © 2011-2022 走看看