ActionFilterAttribute - 事件顺序

时间:2012-09-12 21:29:52

标签: asp.net-mvc

在注释为ActionFilterAttribute的控制器方法上首先发生OnActionExecuting或OnResulting方法?

事情发生的顺序是什么?我已经阅读了MSDN页面,但我不清楚。

2 个答案:

答案 0 :(得分:12)

全部在MSDN上 - http://msdn.microsoft.com/en-us/library/gg416513(v=vs.98).aspx

  1. OnAuthorization - 在任何事情之前运行,以做出安全决策
  2. OnActionExecuting - 执行控制器操作时调用
  3. OnActionExecuted - 在执行控制器操作后调用
  4. OnResultExecuting - 在执行控制器操作结果之前调用
  5. OnResultExecuted - 在执行控制器操作结果后调用
  6. 发生错误时运行异常过滤器(OnException)

答案 1 :(得分:2)

应该是以下顺序:

  1. OnActionExecuting
  2. OnActionExecuted
  3. OnResultExcuting
  4. OnResultExecuted
  5. 请查看此博客帖子MVC 3 Filter Ordering的底部,以便详细了解它们的执行方式和顺序。当您在不同级别(即全局,控制器和操作)进行过滤时,它可以很好地显示它们的运行顺序。