3

在首先发生的控制器方法注释ActionFilterAttribute上,是 OnActionExecuting 还是 OnResulting 方法?

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

4

2 回答 2

12

这一切都在 MSDN - http://msdn.microsoft.com/en-us/library/gg416513(v=vs.98).aspx

  1. OnAuthorization - 在任何事情之前运行,以做出安全决策
  2. OnActionExecuting – 在执行控制器动作时调用
  3. OnActionExecuted – 在执行控制器操作后调用
  4. OnResultExecuting – 在执行控制器操作结果之前调用
  5. OnResultExecuted – 在执行控制器操作结果后调用

发生错误时运行异常过滤器 (OnException)

于 2012-09-12T21:44:42.380 回答
2

它应该是以下顺序:

  1. OnAction执行
  2. OnActionExecuted
  3. OnResultExcuting
  4. OnResultExecuted

请查看这篇博文的底部MVC 3 Filter Ordering,以更好地了解它们的执行方式和顺序。当您有不同级别的过滤器(即全局、控制器和操作)时,它可以很好地显示它们运行的​​顺序。

于 2012-09-12T21:44:08.117 回答