我有一个奇怪的问题;通常,当您在web.config文件中设置debug=false
并在发布模式下编译Web应用程序时,它会提高性能。对于我网站上的某些网页,主要会降低渲染速度。这是调试模式下的页面:
...这是发布模式下的同一页面,调试模式已关闭:
不,我没有把那两个搞糊涂。什么在地球上可能导致调试模式更快地渲染页面3次(如果你忽略控制器和SQL性能,它会使页面更快地渲染五次)?!是否有任何明显的错误配置?
答案 0 :(得分:8)
简短回答:问题是Microsoft.AspNet.Web.Optimization
beta2;它正在做一些极其低效的事情,并会在你的页面渲染时间上添加一秒。如果您正在使用它,请升级。现在
我接受了Steven的建议,并使用MiniProfiler查看导致视图减速的原因。这是jQuery UI JS的System.Web.Optimization.Scripts.Render()
渲染:
根据this question的建议(同样,this question似乎解决了这个问题),我升级了:
PM> Update-Package Microsoft.AspNet.Web.Optimization
Updating 'Microsoft.AspNet.Web.Optimization' from version '1.0.0-beta2' to '1.0.0' in project 'Bacp.Assess.Web'.
这会升级Microsoft.AspNet.Web.Optimization
和WebGrease
。升级后,这是同一页面:
嗯。 :-)我刚刚将页面的渲染时间缩减了99.9%。我网站上的其他页面渲染速度也快得多。我不知道beta {2}正在做什么,但它就像一个围绕ASP.NET的球和链!