首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OnActionExecuted与OnResultExecuting的区别

OnActionExecuted与OnResultExecuting的区别
EN

Stack Overflow用户
提问于 2013-11-21 15:36:10
回答 4查看 22.3K关注 0票数 48

OnActionExecuted和OnResultExecuting有什么区别?这两种方法都是在动作被处理后立即被解雇,还是在这两种方法之间发生了一些事情。就像视图引擎的初始化一样.

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-21 16:01:07

他们有着不同的背景。

OnActionExecuted有一个ActionExecutedContext,您可以在其中查看操作产生的结果。您还可以查看操作是否遇到异常,并查看是否处理了异常。

OnResultExecuting有一个ResultExecutingContext。在调用ActionResult实例之前调用此方法。您可以检查方法的结果,并可能取消结果的执行。这通常会导致状态代码200的空白响应。(您不能在OnActionExecuted方法中这样做)。

票数 42
EN

Stack Overflow用户

发布于 2013-11-21 15:38:08

来自ActionFilterAttribute.OnResultExecuting Method

在执行动作结果之前,由ASP.NET MVC框架调用。

来自ActionFilterAttribute.OnActionExecuted Method

由ASP.NET MVC框架调用,在之后执行操作方法。

票数 7
EN

Stack Overflow用户

发布于 2013-11-21 15:38:52

他们一个接一个地被叫来。

不可能进行初始化,因为您正在执行的ActionResult可能没有呈现视图-- ActionResults可以自由地做他们选择的任何事情:返回JSON、返回文件、发出重定向等等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20125196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档