任何asp.net mvc视图的慢速编译

时间:2016-11-29 20:36:37

标签: c# asp.net asp.net-mvc razor umbraco

我正在开发基于Umbraco CMS(Asp.Net Mvc 5)的Web应用程序。

我的项目中的典型视图包含几个不同的局部视图。 不幸的是,我注意到第一次请求到任何具有任何独特局部视图的页面(之前没有编译过)需要花费太多时间。

我测量了 IView.Render 方法执行时间,它运行~4秒。 经过一些深度调试后,我发现无论视图内容如何(我甚至尝试使用空视图),编译时间直接取决于"引用的程序集"项目编号。

在我的项目中,我有大约120个引用的程序集,这就是 CodeDomProvider.CompileAssemblyFromFile (负责视图编译的方法)为任何视图执行~4秒的原因。

如果没有mvc视图预编译,我有没有机会解决这个问题?

我尝试过RazorGenerator库,它可以快速编译我的所有视图,但我不想放弃动态编译的好处。

MVC是否使用一些非最佳算法进行编译(RazorGenerator编译得更快)?

在我的情况下,无法减少引用的程序集数量。

Here is a screenshot of my debugging

0 个答案:

没有答案