ASP.NET MVC 中的ControllerBase包含三个方法:
我找不到很多关于这些的信息。只是建议使用Initialize而不是Execute。有人能知道这些方法的目的吗?在哪种情况下应该根据良好做法使用它们?
ASP.NET MVC 中的ControllerBase包含三个方法:
我找不到很多关于这些的信息。只是建议使用Initialize而不是Execute。有人能知道这些方法的目的吗?在哪种情况下应该根据良好做法使用它们?
该Execute
方法是来自IController
接口并且所有控制器都拥有的方法。在默认实现 ( ControllerBase
) 中,Execute 方法首先调用该Initialize
方法,然后调用该ExecuteCore
方法。Initialize 方法是上下文可用的地方。这是管道执行中最早的方法,您可以在其中访问 HttpContext 相关内容。例如,如果您尝试在控制器的构造函数中访问它,您将获得 NRE。该ExecuteCore
方法负责加载 TempData,在给定action
路由数据值的情况下找到并执行要执行的正确操作,最后保存 TempData。