我在 Visual Studio 中创建了一个全新的 MVC4 Web 应用程序,除了为它添加一个 Home Controller 和一个“Hello world”索引 View 外,什么也没做。然后我安装了 MiniProfiler NuGet 包并将必要的几行代码放入 _Layout.cshtml
。这是我在 Release模式下运行站点(在 IIS 中托管)时得到的结果:
渲染时间因页面加载而异,但 130 毫秒已经差不多了。这对我来说似乎有点慢,因为我见过其他人在 30 毫秒或更快的时间内呈现页面。知道为什么使用全新的空 MVC4 项目渲染会这么慢吗?我的处理器是 Intel Core i5-2400,机器有 16GB 内存。
顺便说一下,这不是页面第一次加载;在得到这个 130 毫秒的结果之前,我重新加载了几次页面。
更新:
我遵循了 PSCoder 的答案中的建议(删除除 RazorViewEngine 之外的所有内容),并将渲染时间减半:
这真的很好,但是对于页面的主要 Render
操作,我仍然需要大约 70 毫秒或更长的时间;理想情况下,我想减半或更好。
具体想问一下:
- 这个渲染时间是不是太慢了或者对我的机器来说是平均水平?
- 有什么办法可以加快速度吗?
最佳答案
这有助于改善 ASP.NET MVC 相关的性能问题,您可以做的一项性能改进是清除所有 View 引擎并添加您使用的 View 引擎。例如:- RazorViewEngine
. MVC 默认注册 2 个 View 引擎 Webforms
和 Razor
查看引擎,因此清除并添加单独使用的引擎将提高查找性能。
您可以在 global.asax
中添加它Application_Start
.
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new RazorViewEngine());
为了完全利用 View 查找缓存,从而再次提高性能,在 Release模式下编译代码并确保您的 web.config
文件配置为 <compilation debug="false" />
查看缓存以启动。
关于c# - ASP.NET MVC 渲染似乎很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16281366/