我有一个简单的应用程序,其中包含 MVC 页面,除了 HTML 和 Razor C# 代码(不多)之外,没有 javascript、图像或任何其他内容。在我看来,当页面第一次加载时,它们需要很长时间,然后加载速度就会快得多。第一次请求页面时,MVC3 是否进行了一些编译?
Robert
第一次加载 Razor 视图时,它会被解析并编译为 C# 类(默认情况下,编译为 WebViewPage 或 WebViewPage 的派生类型),并且该视图实际上被编译为该类的 Execute 方法。旧的 WebForms 页面实际上也发生了类似的情况。
MVC 管道中还有其他一些东西会降低第一次调用时的性能,例如 application_start(如果它也是应用程序的第一个请求),以及一些其他带有反射的操作、依赖项解析和其他仅在第一次调用时发生的操作调用(它们被缓存以供后续调用)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)