我得到了一个奇怪的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 禁用它可以解决问题.
最终这一切都归结为VS Browser Link.(http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx)
事实上,较小的网页工作得很好,但较大的页面会导致Web服务器进程的负载不成比例地增加,使得服务器的一部分在页面发送到浏览器后执行某些操作.
禁用浏览器链接可解决此问题.
| 归档时间: |
|
| 查看次数: |
968 次 |
| 最近记录: |