在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

ASP.NET MVC中的拦截器的更多相关文章

  1. spring mvc中的拦截器小结 .

    在spring mvc中,拦截器其实比较简单了,下面简单小结并demo下. preHandle:预处理回调方法,实现处理器的预处理(如登录检查),第三个参数为响应的处理器(如我们上一章的Control ...

  2. ASP.NET MVC 异常Exception拦截器Fillter

    异常信息的处理在程序中非常重要, 在asp.net mvc中提供异常属性拦截器进行对异常信息的处理,异常拦截器也没有什么的,只是写一个类,继承另一个类(System.Web.Mvc.FilterAtt ...

  3. Spring MVC中的拦截器/过滤器HandlerInterceptorAdapter的使用

    一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的 而在Spring中,基于Filter这种方式可以实现Bean预处理.后处理. 比如注入FilterRegistrationBean,然后 ...

  4. Spring MVC中自定义拦截器的简单示例

    1. 引言 拦截器(Interceptor)实现对每一个请求处理前后进行相关的业务处理,类似于Servlet的Filter. 我们可以让普通的Bean实现HandlerIntercpetor接口或继承 ...

  5. ASP.NET MVC的Action拦截器(过滤器)ActionFilter

    有时项目要进行客户端请求(action)进行拦截(过滤)验证等业务,可以使用拦截器进行实现,所谓的action拦截器也没有什么的,只是写一个类,继承另一个类(System.Web.Mvc.Filter ...

  6. 在MVC中添加拦截器实现登录后的权限验证

    1.新建一个类 (以下实现了打印日志功能) using System; using System.Collections.Generic; using System.Linq; using Syste ...

  7. Asp.net mvc 中的 Controller 的激活

    Controller 激活是指根据路由系统解析出来的 Controller 的名称创建 控制器(Controller)的过程,这里的控制器泛指实现了 IController 接口的类型 激活过程中的核 ...

  8. 如何在 ASP.NET MVC 中集成 AngularJS(1)

    介绍 当涉及到计算机软件的开发时,我想运用所有的最新技术.例如,前端使用最新的 JavaScript 技术,服务器端使用最新的基于 REST 的 Web API 服务.另外,还有最新的数据库技术.最新 ...

  9. Spring Mvc 的自定义拦截器

     spring mvc的拦截器 SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户 ...

随机推荐

  1. C#学习笔记----.net操作进程

    进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源.进程之间是相对独立的,一个进程无法直接访问另一个进程的数据(除非分布式),一个进程运行的失败也不会影响其他 ...

  2. Win7下JDK环境变量的设置

    JDK并不像Microsoft阵营vs那样智能,安装好后所有的东西都给你配置好了,我们还没需要手动配置很多东西 首先说为什么要配置JDK的环境变量在任何路径下识别java命令和java类 配置分为2个 ...

  3. msyql判断记录是否存在的三种方法

    1. select count(*) from .... 这种方法最常见但是效率比较低,因为它需要扫描所有满足条件的记录 2. select 1 from xxxtable where .... 这种 ...

  4. C#基本语句与C++区别

    条件语句必须为bool表达式 int a = 1; if(a) { ... } 在c++中可以,但c#报错 但 bool b = true;//不能写成b = 1了: if(b) { ... } 是可 ...

  5. JEESZ分布式框架简介

    声明:该框架面向企业,是大型互联网分布式企业架构,后期会介绍Linux上部署高可用集群项目. 项目基础功能截图(自提供了最小部分) 介绍 1.      项目核心代码结构截图 <modules& ...

  6. 适配ios11与iphone x实践

    一.适配iOS11 问题1:项目中有原生与H5的交互,运行在iOS11时,直接漰溃在框架WebViewJavascriptBridge内部. 报错信息:Completion handler passe ...

  7. UWP 应用程序内购

    今天来说一下应用程序内购的问题,这里面有坑,给自己做个笔记,也给需要的人提个醒. 我目前的需要是可以允许用户捐赠赞助App的形式内购,最终效果如下 只讲上面的列表部分,下面的就是图片布局啥的,没意思了 ...

  8. git 覆盖本地变化

    git fetch && git reset --hard origin/master

  9. Java 多线程 - 锁优化

    http://www.cnblogs.com/pureEve/p/6421273.html https://www.cnblogs.com/mingyao123/p/7424911.html

  10. django之Ajax续

    接上篇随笔.继续介绍ajax的使用. 上篇友情连接:http://www.cnblogs.com/liluning/p/7831169.html 本篇导航: Ajax响应参数 csrf 跨站请求伪造 ...