一、asp.net mvc中的filter
1.1 filter分类
| filter | 描述 | Attribute | 描述 |
|---|---|---|---|
| IAuthenticationFilter | 权限相关 | AuthorizeAttribute特性提供了默认实现 | 可以标注在全局、controller、action上 |
| IActionFilter | 在action()方法前后执行 | ActionFilterAttribute特性提供了默认实现 | |
| IResultFilter | 在ActionResult.ExecuteResult()方法前后执行 | ||
| IExceptionFilter | 捕获在生成controller开始执行IAuthenticationFilter到进入action(),最后执行IResultFilter之间发生的异常 | HandleErrorAttribute特性提供了默认实现 |
1.2 执行顺序及源码
- 执行InvokeAuthenticationFilters(),调用IAuthenticationFilter.OnAuthentication()
- 执行InvokeActionMethodWithFilters()
- IActionFilter.OnActionExecuting()
- action()
- IActionFilter.OnActionExecuted()
- 执行InvokeActionResultWithFilters()
- IResultFilter.OnResultExecuting()
- ActionResult.ExecuteResult()
- IResultFilter.OnResultExecuted()

博客主要介绍了ASP.NET MVC中的Filter,包括其分类,还详细阐述了Filter的执行顺序及相关源码,如InvokeAuthenticationFilters()、InvokeActionMethodWithFilters()等方法的执行过程。

767

被折叠的 条评论
为什么被折叠?



