【发布时间】:2015-04-21 14:22:08
【问题描述】:
我们的网络应用包含数十个局部视图,其中一些是其他视图的子视图。我们注意到应用程序在第一次加载时速度很慢,初始化它第一次调用的每个视图需要 0.5 到 1 秒。我跟踪了时间并发现:
Html.RenderPartial("~/Full/Relative/Path/To/View.cshtml", null);
即使视图完全是空的,也可能需要大约 1 秒。同时:
var view = ViewEngines.Engines.FindPartialView(
ViewContext.Controller.ControllerContext, "~/Full/Relative/Path/To/View.cshtml");
需要 1 毫秒,因此无需花费时间查找文件。
问题:
1. 视图编译器需要这么长时间是正常的吗?
2. 有没有其他方法可以使第一次调用快速但不使用 csproj 中的指令预编译视图?
ps:奇怪的是,相同的视图在应用开发初期加载速度更快。
【问题讨论】:
-
@DZL 谢谢,我知道,这只会加快进一步的通话,而不是最初的通话。
-
赞成(如果只是因为您选择的用户名很酷):)
标签: .net asp.net-mvc razor