3

_AppStart.cshtml不经常被提及,当它被提及时,它似乎被提及为 WebMatrix / ASP.Net 网页的一部分,而不是 MVC 本身。

此外,这个高分的 StackOverflow 答案声称 _AppStart.cshtml“未在 MVC 中使用”。这似乎具有误导性或不正确,因为如果您在 Visual Studio 中创建一个新的空 MVC4 应用程序并将其放在 _AppStart.cshtml 中:

@{        
    throw new Exception("Uh oh!");
}

你的网站不工作。

那么使用 _AppStart.cshtml 的“官方”建议是什么?它的工作原理是疏忽吗?还是在 MVC5 中已弃用?

(我希望它不会被弃用或不受欢迎,因为它似乎是一种方便的方法,可以在不重新部署 /bin 且不处理 global.asax 或 web.config 的情况下允许站点范围的配置更改。)

4

1 回答 1

2

它是 Razor 视图引擎所基于的网页框架的官方部分。它与 Web Pages 的早期版本一样,是 Web Pages 3(MVC 5 使用的)的一部分。

没有理由不能在 MVC 中使用 _AppStart.cshtml。您还可以使用其他网页功能,例如@helper@function。所有这些都可能被一些人所反对。只要您的老板或客户不在这些“某些人”中,您就可以自由使用它们。

如果您对 AppStart 进行更改,您将获得与更改 web.config 相同的效果。应用程序将卸载并重新启动。

AppStart 是作为初学者(Web Pages 的真正目标)访问 Application_Start 的一种简单方法而引入的,他们无需了解 global.asax 和事件。

于 2014-01-31T20:38:43.873 回答