c# - ASP.NET MVC 渲染似乎很慢

标签 c# asp.net-mvc performance asp.net-mvc-4

我在 Visual Studio 中创建了一个全新的 MVC4 Web 应用程序,除了为它添加一个 Home Controller 和一个“Hello world”索引 View 外,什么也没做。然后我安装了 MiniProfiler NuGet 包并将必要的几行代码放入 _Layout.cshtml。这是我在 Release模式下运行站点(在 IIS 中托管)时得到的结果:

MVC rendering picture

渲染时间因页面加载而异,但 130 毫秒已经差不多了。这对我来说似乎有点慢,因为我见过其他人在 30 毫秒或更快的时间内呈现页面。知道为什么使用全新的空 MVC4 项目渲染会这么慢吗?我的处理器是 Intel Core i5-2400,机器有 16GB 内存。

顺便说一下,这不是页面第一次加载;在得到这个 130 毫秒的结果之前,我重新加载了几次页面。

更新:
我遵循了 PSCoder 的答案中的建议(删除除 RazorViewEngine 之外的所有内容),并将渲染时间减半:

MVC rendering picture 2

这真的很好,但是对于页面的主要 Render 操作,我仍然需要大约 70 毫秒或更长的时间;理想情况下,我想减半或更好。

具体想问一下:

  • 这个渲染时间是不是太慢了或者对我的机器来说是平均水平?
  • 有什么办法可以加快速度吗?

最佳答案

这有助于改善 ASP.NET MVC 相关的性能问题,您可以做的一项性能改进是清除所有 View 引擎并添加您使用的 View 引擎。例如:- RazorViewEngine . MVC 默认注册 2 个 View 引擎 WebformsRazor查看引擎,因此清除并添加单独使用的引擎将提高查找性能。

您可以在 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/

相关文章:

java - Android - 是否可以每毫秒至少运行一次线程更新?

javascript - 调用window.setInterval会在chrome中打开一个新线程吗?

visual-studio - 为什么vs2010最近这么慢?它几乎无法使用

c# - 用C#移动数组中的元素

c# - 使用引用游标作为 ODP.NET 的输入类型

c# - 处理大型数据集和内存限制

javascript - ASP.NET MVC 路由 - domain.com/Events#!/12 到 domain.com/Events/12

javascript - jquery 不起作用的表格突出显示行

c# - 如何等待在 WinRT 中使用反射调用的异步私有(private)方法?

asp.net-mvc - Controller + View in a separate assembly - The name 'ViewBag' does not exist in the current context