我有一个简单的应用程序,MVC页面没有HTML,图像或除HTML和Razor C#代码之外的任何东西(不多)。在我看来,当页面首次加载时,它们需要很长时间,之后它们会更快。第一次请求页面时,MVC3是否会进行一些编译。
罗伯特
答案 0 :(得分:3)
第一次加载Razor视图时,它会被解析并编译成C#类(默认情况下,转换为WebViewPage或WebViewPage的派生类型),视图实际上被编译为该类的Execute方法。类似的东西实际上也发生在旧的WebForms页面上。
MVC管道中还有其他因素会降低第一次调用时的性能,例如application_start(如果它也是对应用程序的第一个请求),以及其他一些具有反射,依赖性解析和其他只会发生的操作的操作在第一次通话时(它们被缓存用于后续通话),.
答案 1 :(得分:2)