ASP.NET MVC中的拦截器

本文详细介绍了ASP.NET MVC中的三种拦截器:Action拦截器、Result拦截器和Exception拦截器。通过实例展示了如何定义这些拦截器,并在控制器的动作方法上应用它们来执行特定的任务,如身份验证、操作日志记录等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

转载于:https://www.cnblogs.com/lizhao/archive/2011/03/21/1990409.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值