我有一个(大)问题,所有与Webforms一起工作的人都可能有。
问题是加载页面的时间。 在Vista(IIS 7)中使用localhost(女巫应该是最快的模式)我得到这个图
alt text http://www.balexandre.com/temp/2009-06-29_1302_soquestion.png
正如您所看到的,显示页面需要超过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
并且CSS和jQuery 文件已缓存,降至一半!
alt text http://www.balexandre.com/temp/2009-06-29_1550_soquestion.png
答案 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内的评论是英文的)