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

    在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,這裡可以簡單百倍呀!試一下吧,

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

  • 相关阅读:
    osgi实战学习之路:8. Service-3之ServiceTracker
    使用Jquery+EasyUI 进行框架项目开发案例解说之二---用户管理源代码分享
    QQ音乐产品经理黄楚雄:产品与用户的情感联系
    AsyncTask简单入门
    晨跑感悟:三快三爽三熬
    【cocos2d-x制作别踩白块儿】第九期:游戏计时功能(附源代码)
    cocos2d3.0 Scale9Sprite
    新的历程-近两个月的工作总结
    基因突变的实例:加拿大无毛猫
    ANTS Performance Profiler 破解使用
  • 原文地址:https://www.cnblogs.com/lizhao/p/1990409.html
Copyright © 2011-2022 走看看