博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC过滤器基本使用
阅读量:5010 次
发布时间:2019-06-12

本文共 2120 字,大约阅读时间需要 7 分钟。

 

    
Action过滤器
/// /// 执行代码前执行/// /// public override void OnActionExecuting(ActionExecutingContext filterContext){  //1.显示触发过滤器action方法的名称  string actionName = filterContext.ActionDescriptor.ActionName;   filterContext.HttpContext.Response.Write("ActionName=" + actionName + "
");  //2.显示触发过滤器action方法所在的控制器  string ctrlName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;  filterContext.HttpContext.Response.Write("ControllerName=" + ctrlName + "
");  //3.判断当前action方法是否贴有[HttpGet]特性标签  bool isTrue = filterContext.ActionDescriptor.IsDefined(typeof(HttpGetAttribute), false);  filterContext.HttpContext.Response.Write("当前action是否贴有[httpGet]特性" + isTrue + "
");  //4.获取当前action方法上贴有[HttpGet]特性标签的实例  object[] httpGets = filterContext.ActionDescriptor.GetCustomAttributes(typeof(HttpGetAttribute), false);  foreach (object obj in httpGets)  {  filterContext.HttpContext.Response.Write("获取当前action方法上贴有[HttpGet]特性标签的实例:" + obj.ToString() + "
");  }  //5.记录当前action方法的实际参数  ParameterDescriptor[] dics = filterContext.ActionDescriptor.GetParameters();  foreach(ParameterDescriptor dic in dics)  {  //打印action参数名称  filterContext.HttpContext.Response.Write("记录当前action方法的实际参数:" + dic.ParameterName.ToString() + "
");  }  base.OnActionExecuting(filterContext);}/// /// 执行代码后执行/// /// public override void OnActionExecuted(ActionExecutedContext filterContext){  base.OnActionExecuted(filterContext);}/// /// 返回结果前执行/// /// public override void OnResultExecuting(ResultExecutingContext filterContext){ base.OnResultExecuting(filterContext);}/// /// 返回结果后执行/// /// public override void OnResultExecuted(ResultExecutedContext filterContext){ base.OnResultExecuted(filterContext);}

 

 
异常过滤器:HandleErrorAttribute
public override void OnException(ExceptionContext filterContext){    //1.获取异常对象    Exception ex= filterContext.Exception;    //2.将异常写入日志    //2.1写入记录日志的具体实现过程略...    //3.告诉mvc框架,过滤器已处理异常,不需要额外处理    filterContext.ExceptionHandled = true;    base.OnException(filterContext);}

 

 
配置错误页:
1 
2
3
4

 

转载于:https://www.cnblogs.com/notniu/p/3898265.html

你可能感兴趣的文章
Linux 命令 - 文件搜索命令 locate
查看>>
[Grunt] grunt.template
查看>>
Ubuntu最小化桌面快捷键Super+D不生效解决
查看>>
Cookie&Session会话跟踪技术
查看>>
UNIX环境高级编程 第17章 高级进程间通信
查看>>
ES的Zen发现机制
查看>>
【hibernate】1、Hibernate的一个注解 @Transient
查看>>
HihoCoder 1877 - Approximate Matching
查看>>
Elastic Search 语法总结
查看>>
py自动化之环境配置
查看>>
Winodws SNMP服务安装和配置(Windows 2003 & 2008 R2)
查看>>
红黑树-想说爱你不容易
查看>>
【题目】英文字符进行频率的统计,直方图输出
查看>>
LeetCode-Binary Tree Level Order Traversal
查看>>
COM组件开发实践
查看>>
yii2 源码分析1从入口开始
查看>>
浅谈网站推广
查看>>
Away3D基础之摄像机
查看>>
Leetcode 128. Longest Consecutive Sequence
查看>>
程序员必须知道的几个Git代码托管平台
查看>>