分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

asp.net mvc之过滤器

发布时间:2023-09-06 01:47责任编辑:郭大石关键词:暂无标签

先看一段实例

public class Log : FilterAttribute, IActionFilter ???{ ???????public void OnActionExecuted(ActionExecutedContext filterContext) ???????{ ???????????Console.WriteLine("log-after"); ???????} ???????public void OnActionExecuting(ActionExecutingContext filterContext) ???????{ ???????????Console.WriteLine("log-before"); ???????} ???}
public class HomeController : Contoller ???{ ???????[Log] ???????public ActionResult Index() ???????{ ???????????return View(); ???????} ???}

MVC有四种过滤器

ActionFilter(方法过滤器):实现接口:[IActionFilter];在Action调用前和调用后执行

ResultFilter(结果过滤器):实现接口:[IResultFilter];在Action Result调用完,跳转至view页面前/后执行

AuthorizationFilter(授权过滤器):实现接口:[IauthorizationFilter];所有过滤器中最先执行的

ExceptionFilter(异常处理过滤器):实现接口:[IExceptionFilter]:在控制器方法抛出异常时执行

应用场景

public class FilterConfig ???{ ???????public static void RegisterGlobalFilters(GlobalFilterCollection filters) ???????{ ???????????filters.Add(new HandleErrorAttribute()); ???????????filters.Add(new MyAuthorAttribute()); ???????????filters.Add(new ExceptionFilter());//异常过滤器 ???????} ???}
public class MyAuthorAttribute : FilterAttribute, IAuthorizationFilter ???{ ???????public void OnAuthorization(AuthorizationContext filterContext) ???????{ ?/// ???????} ???}
View Code

Global实现全局

//实现全局FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

asp.net mvc之过滤器

原文地址:https://www.cnblogs.com/shiyige-216/p/8656631.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved