• 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#里面的特性,真是方便极了,请看代码!(PS:action和controller都一樣!)

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

    看到了沒有,只要在action上面寫三個Attibute,一切都就都完成了,其它的事情都是讓框架幫你完成了,相對在webForm裡面想使用Aop,這裡可以簡單百倍呀!試一下吧,只看不練一下子就會忘記的,這裡只是給出核心代码,朋友自己试一下吧!

  • 相关阅读:
    弃用 btoa 转用 blob吧
    【软件调试】第二章 进程和线程实验记录
    kafka查看数据_Kafka 数据积压情况查看
    Content type 'multipart/formdata;boundary= ;charset=UTF8' not supported",
    AGC057E RowCol/ColRow Sort 【观察,组合计数】
    html基本认识+文字文本属性+盒子模型+子代选择器
    浮动+页面居中+弹性盒子+定位+图片插入
    微信小程序(1)
    一个调度系统的表面研究
    新手写flask常见的坑
  • 原文地址:https://www.cnblogs.com/zquan/p/9773538.html
Copyright © 2020-2023  润新知