2009-06-29 90 views
4

我有一个(大)的问题,你所有的工作与Webforms可能有。如何管理aspx页面加载速度更快?

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

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

回答

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?。另外,我从屏幕截图看不到你实际上包含哪些脚本,但最有可能的是你的自定义脚本。您的应用程序中是否有方法以某种方式组合它们?

+0

,这是一个很大的问题,我记得看到文档,但我从来没有将它与我目前的问题联系起来。我将再次阅读并尝试将脚本结合起来!非常感谢你对这个见解的看法:) – balexandre 2009-06-29 11:57:22

1

请记住,当启用调试模式时(在web.config中:<compilation debug="true">),浏览器不会缓存JavaScript文件,图像和CSS文件等资源。

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

+0

不错的一点,但我的所有页面都不允许缓存,因为我在哪里显示这个页面(在一个CRM应用程序中),所以它会是一样的...但无论如何谢谢你。 – balexandre 2009-06-29 12:03:54

0

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

这是可能的但延长的UpdatePanel加载数据之前显示 - this article describes how to do it(唉,在荷兰,但我相信里面the code的评论是用英文)

+0

“加载大量数据的UpdatePanel”......它比这更多一点,但我理解你说的,但不是,在这个页面中只有WebParts,所有与Ajax有关的相关信息都是由我使用jQuery完成的。不过谢谢。 – balexandre 2009-06-29 12:02:31