OnActionExecuted和OnResultExecuting有什么区别?这两种方法都是在动作被处理后立即被解雇,还是在这两种方法之间发生了一些事情。就像视图引擎的初始化一样.
发布于 2013-11-21 16:01:07
他们有着不同的背景。
OnActionExecuted有一个ActionExecutedContext,您可以在其中查看操作产生的结果。您还可以查看操作是否遇到异常,并查看是否处理了异常。
OnResultExecuting有一个ResultExecutingContext。在调用ActionResult实例之前调用此方法。您可以检查方法的结果,并可能取消结果的执行。这通常会导致状态代码200的空白响应。(您不能在OnActionExecuted方法中这样做)。
发布于 2013-11-21 15:38:08
来自ActionFilterAttribute.OnResultExecuting Method
在执行动作结果之前,由ASP.NET MVC框架调用。
来自ActionFilterAttribute.OnActionExecuted Method
由ASP.NET MVC框架调用,在之后执行操作方法。
发布于 2013-11-21 15:38:52
他们一个接一个地被叫来。
不可能进行初始化,因为您正在执行的ActionResult可能没有呈现视图-- ActionResults可以自由地做他们选择的任何事情:返回JSON、返回文件、发出重定向等等。
https://stackoverflow.com/questions/20125196
复制相似问题