Razor页面渲染完成后的高CPU负载

时间:2014-06-25 14:31:39

标签: asp.net-mvc razor

我得到一个奇怪的Razor行为 - 渲染一个大约300个DIV的网页,每个用户信息,循环渲染后,CPU继续以100%单核负载运行大约30秒。没有IO操作,内存利用率没有变化,只是燃烧CPU周期。

该页面是从数据库中渲染数据的300条记录。它不是数据库故障 - 我通过禁用数据库访问来检查它,用虚拟数据替换记录并获得相同的行为。页面在浏览器中呈现并显示,没有其他请求处于活动状态,因此服务器端代码(至少是我的代码)处于空闲状态。

UPD:仅在从Visual Studio中启动站点时才会出现此问题。无论它是在IIS Express还是IIS中托管。两者都运行.NET 4.5.1,MVC 5.1.2。当devenv没有运行时打开同一个站点会使问题消失。

有人可以建议 - 您是否遇到过类似的问题以及您是如何应对的,以及如何确定造成问题的代码?

解决了!这是浏览器链接! http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx 禁用它可以解决问题。

1 个答案:

答案 0 :(得分:5)

最终,这一切都归结为VS Browser Link。 (http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx

发生的情况是,较小的网页工作得很好,但较大的网页会导致网络服务器进程的负载不成比例地增加,使得服务器的一部分在页面被发送到浏览器。

禁用浏览器链接可解决此问题。