2

ASP.NET MVC 中的ControllerBase包含三个方法:

我找不到很多关于这些的信息。只是建议使用Initialize而不是Execute。有人能知道这些方法的目的吗?在哪种情况下应该根据良好做法使用它们?

4

1 回答 1

3

Execute方法是来自IController接口并且所有控制器都拥有的方法。在默认实现 ( ControllerBase) 中,Execute 方法首先调用该Initialize方法,然后调用该ExecuteCore方法。Initialize 方法是上下文可用的地方。这是管道执行中最早的方法,您可以在其中访问 HttpContext 相关内容。例如,如果您尝试在控制器的构造函数中访问它,您将获得 NRE。该ExecuteCore方法负责加载 TempData,在给定action路由数据值的情况下找到并执行要执行的正确操作,最后保存 TempData。

于 2012-05-29T06:06:03.290 回答