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#里面的特性,真是方便极了,直接在加上标签便可;

     

    1 [ResultFillters]
    2 [ActionFillters]
    3 [ExceptionFillters]
    4 public ActionResult Index()
    5 {
    6     ViewData["Message"] = "Welcome to ASP.NET MVC!";
    7     return View();
    8 }
    9     
    	

     

     

  • 相关阅读:
    boost::asio 连接管理11 如何关闭连接
    boost::asio async_write也不能保证一次发完所有数据 二
    boost::asio async_write也不能保证一次发完所有数据 一
    boost参考博客
    C++ 多线程编程总结
    Boost::asio io_service 实现分析
    使用boost io_service时,需要注意的东西
    Boost::Thread 多线程的基础知识
    boost::thread类
    Boost::thread库的使用
  • 原文地址:https://www.cnblogs.com/yhongl/p/2605822.html
Copyright © 2011-2022 走看看