您现在的位置是:主页 > news > 昆明专业网站制作公司/查网站流量查询工具

昆明专业网站制作公司/查网站流量查询工具

admin2025/5/30 3:36:21news

简介昆明专业网站制作公司,查网站流量查询工具,做设计图的软件,帝国网站源码手机过滤器有4种 类别实现接口默认类实现说明 Authorization IAuthorizationFilter AuthorizeAttribute 在所有的Action之前以及所有的过滤器运行之前执行,实现权限验证Action IActionFilter  ActionFilterAttribute 在Action将要执行和执行后运行,但是在…

昆明专业网站制作公司,查网站流量查询工具,做设计图的软件,帝国网站源码手机过滤器有4种 类别实现接口默认类实现说明 Authorization IAuthorizationFilter AuthorizeAttribute 在所有的Action之前以及所有的过滤器运行之前执行,实现权限验证Action IActionFilter  ActionFilterAttribute 在Action将要执行和执行后运行,但是在…

过滤器有4种

类别实现接口默认类实现说明

Authorization

IAuthorizationFilter
AuthorizeAttribute
在所有的Action之前以及所有的过滤器运行之前执行,实现权限验证
Action
IActionFilter
 ActionFilterAttribute 在Action将要执行和执行后运行,但是在Result之前
Result
IResultFilter 
   ActionFilterAttribute 在将要返回Result之前和之后运行
Exception
IExceptionFilter 
HandleErrorAttribute
在执行Filter和Action过程中出现异常时运行,可用于异常处理

  因为Controller类也实现了上面的4个接口 IActionFilter, IAuthorizationFilter, IExceptionFilter, IResultFilter,因此在Controller类中,也可以实现对应的方法。执行顺序如下:

  

[MyAuthorizationFilter][MyActionFilter]public class IndexController : Controller{public ActionResult Index(){Response.Write("我是IndexController中的Index<hr />");return View();}protected override void OnAuthorization(AuthorizationContext filterContext){filterContext.HttpContext.Response.Write("我是IndexController中的OnAuthorization<hr />");base.OnAuthorization(filterContext);}protected override void OnActionExecuting(ActionExecutingContext filterContext){filterContext.HttpContext.Response.Write("我是IndexController中的OnActionExecuting<hr />");base.OnActionExecuting(filterContext);}protected override void OnActionExecuted(ActionExecutedContext filterContext){filterContext.HttpContext.Response.Write("我是IndexController中的OnActionExecuted<hr />");base.OnActionExecuted(filterContext);}protected override void OnResultExecuting(ResultExecutingContext filterContext){filterContext.HttpContext.Response.Write("我是IndexController中的OnResultExecuting<hr />");base.OnResultExecuting(filterContext);}protected override void OnResultExecuted(ResultExecutedContext filterContext){filterContext.HttpContext.Response.Write("我是IndexController中的OnActionExecuted<hr />");base.OnResultExecuted(filterContext);}}
 public class MyActionFilter : ActionFilterAttribute{public override void OnActionExecuting(ActionExecutingContext filterContext){filterContext.HttpContext.Response.Write("我是MyActionFilter中的OnActionExecuting<hr />");base.OnActionExecuting(filterContext);}public override void OnActionExecuted(ActionExecutedContext filterContext){filterContext.HttpContext.Response.Write("我是MyActionFilter中的OnActionExecuted<hr />");base.OnActionExecuted(filterContext);}public override void OnResultExecuting(ResultExecutingContext filterContext){filterContext.HttpContext.Response.Write("我是MyActionFilter中的OnResultExecuting<hr />");base.OnResultExecuting(filterContext);}public override void OnResultExecuted(ResultExecutedContext filterContext){filterContext.HttpContext.Response.Write("我是MyActionFilter中的OnResultExecuted<hr />");base.OnResultExecuted(filterContext);}}
 public class MyAuthorizationFilter:AuthorizeAttribute{public override void OnAuthorization(AuthorizationContext filterContext){filterContext.HttpContext.Response.Write("我是MyAuthorizationFilter中的OnAuthorization<hr />");return;}}

全局Controller配置,在Controller级中添加,对应的Action放在对应的Action级中添加。如果是整个项目注册,是在App_Start中FilterConfig中配置。

转载于:https://www.cnblogs.com/zhaoyihao/p/7093449.html