在控制器上执行核心/执行/初始化之间有所不同
本文关键字:执行 初始化 之间 有所不同 核心 控制器 | 更新日期: 2023-09-27 18:35:29
ASP.NET MVC 中的 ControllerBase 包含三种方法:
- 执行
- 初始化
- 执行核心
我找不到很多关于这些的信息。只是建议使用初始化而不是执行。有人知道这些方法的目的吗?在哪种情况下,应该根据良好做法使用它们?
Execute
方法是来自 IController
接口且所有控制器都具有的方法。在默认实现(ControllerBase
)中,Execute方法首先调用Initialize
方法,然后调用ExecuteCore
方法。初始化方法是上下文变为可用的位置。这是管道执行中最早的方法,您可以在其中访问与 HttpContext 相关内容。例如,如果您尝试在控制器的构造函数中访问它,您将获得一个 NRE。ExecuteCore
方法负责加载 TempData,在给定action
路由数据值的情况下查找并执行要执行的正确操作,最后保存 TempData。