a.net中的截取器_.NET概论及软件使用_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

a.net中的截取器

作者:黑客防线网安ASP维护基地 来源:黑客防线网安ASP维护基地 浏览次数:0

本篇关键词:一个可以public执行
黑客防线网安网讯:    我们先想像一个场景,就是程序员开发软件,他是怎么工作的呢?我们都知道,普通的程序员只需要根据需求文档开发相应的功能即可,他不用和客户谈论软件需求,不用理会软件卖多少钱,他要...

    我们先想像一个场景就是程序员开发软件他是怎么工作的呢?我们都知道,普通的程序员只需要根据需求文档开发相应的功能即可,他不用和客户谈论软件需求,不用理会软件卖多少钱,他要做的事很单一:开发软件!
  当一个公司找软件开发商做项目的时候,有专门的人员会跟客户谈需求,谈完需求,做好设计,写好文档,再把相关的文档送到程序员手上,程序员只需要根据文档开发相应的功能,当程序开发完成之后,会有相应的测试组测试软件各各方面的东西,然后测试通过再交到客户手上!

  这个场景就是一个典型的截取器,也叫AOP(面向切面编程),程序员可以看成是一个业务组件,他有个方法就是“开发”,至于与客户的交互,以及软件开发后的后期工作,就不是程序员应该关心的事了,于是我们可以把测试组看成是一个截取器,当测试组发现问题时拦截软件流向客户,返还给程序员要求修改

  对于这个场景,我们可以看看有什么好处首先程序员的职责单一了,不必理会和他无关的事,可以专注他的工作:开发。而且截取器可以得到复用,例如一个软件开发商可以只请一个测试员测试5个程序员写出来的程序,这样截取器的代码就可以减少重复了!

  OK,回到我们的主题,在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,这里可以简单百倍呀!试一下吧,只看不练一下子就会忘记的,这里只是给出核心代码,朋友自己试一下吧!

 

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-14323-1.html
网站维护教程更新时间:2012-03-30 05:46:02  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer