如何管理aspx页面加载速度更快?

时间:2009-06-29 11:09:44

标签: c# iis-7 webforms pageload

我有一个(大)问题,所有与Webforms一起工作的人都可能有。

问题是加载页面的时间。 在Vista(IIS 7)中使用localhost(女巫应该是最快的模式)我得到这个图

alt text http://www.balexandre.com/temp/2009-06-29_1302_soquestion.png

original file link

正如您所看到的,显示页面需要超过17秒!只有2秒钟自己加载页面......

我正在使用ASP.NET AJAX框架来处理Web部件。

如何减少这17秒?

非常感谢任何关于去哪里的想法:)


已添加:从Jan Zich

测试正确答案

我测试过改变

<asp:ScriptManager ID="sm" runat="server" />

<ajax:ToolkitScriptManager ID="sm" runat="server" CombineScripts="true" />

使用FireBug的结果令人印象深刻(有一半时间,而不使用缓存!),如下图所示

alt text http://www.balexandre.com/temp/2009-06-29_1543_soquestion.png

original file link

并且CSS和jQuery 文件已缓存,降至一半!

alt text http://www.balexandre.com/temp/2009-06-29_1550_soquestion.png

original file link

3 个答案:

答案 0 :(得分:4)

这不会算作一个有效的答案,因为我不知道如何实际解决这个问题,但问题是大多数浏览器(除了Safari和Chrome之外)可能会顺序加载JavaScript,因为必须等待以前的脚本完成执行(因为它可能会更改文档)。这通常通过将所有JavaScript文件合并为一个来修复。

修改相关问题:How do I combine WebResource.axd and ScriptResource.axd files so as to result in less requests to my ASP.NET server?。此外,我无法从屏幕截图中看到您实际包含的脚本,但很可能是您的自定义脚本。您的应用程序中是否有某种方法可以以某种方式组合它们?

答案 1 :(得分:1)

请注意,启用调试模式后(在web.config中:<compilation debug="true"&gt;),浏览器不会缓存javascript文件,图像和CSS文件等资源。

因此,在生产环境中(禁用调试),这些数字可能看起来不同,因为浏览器将缓存大部分资源,而不是为每个页面/请求再次请求它们。

答案 2 :(得分:0)

您是否使用加载大量数据的UpdatePanel?如果是这样,在获取所有数据之前,页面将不会呈现。

可以扩展UpdatePanel,然后在加载数据之前显示 - this article describes how to do it(唉,荷兰语,但我相信the code内的评论是英文的)