如何优化Microsoft AJAX Toolkit?

时间:2009-04-30 14:33:57

标签: asp.net asp.net-ajax

这真是令人生气。我正在尝试优化一个非常大的站点,而我正在减少HTTP请求。微软没有合作。我包含以下ScriptResources。我会尝试抓住每个人的顶线来区分他们

  1. //姓名:MicrosoftAjax.debug.js 53.5Kb
  2. //名称:MicrosoftAjaxWebForms.debug.js 14Kb
  3. AjaxControlToolkit.BoxSide = function(){11.4Kb
  4. /// Sys.UI.DomElement 958字节!
  5. // Sys.Timer 982 Bytes!
  6. // IDropSource 6.5Kb
  7. AjaxControlToolkit.FloatingBehavior = function(element){2.2Kb
  8. AjaxControlToolkit.BehaviorBase = function(element){5.4Kb
  9. AjaxControlToolkit.DynamicPopulateBehavior = function(element){2.9Kb
  10. AjaxControlToolkit.BoxCorners = function(){3.6Kb
  11. AjaxControlToolkit.DropShadowBehavior = function(element){3.4Kb
  12. AjaxControlToolkit.ModalPopupBehavior = function(element){5.5Kb
  13. 加油! 12血腥javascript包括!不到一个KILOBYTE!获得dang数据的时间有一半可能是花在寻求它上面! ARGHHH!

    无论如何,正如你所看到的,我很生气。有什么方法可以推动它们并将它们结合起来吗?喜欢进入一个请求?

5 个答案:

答案 0 :(得分:5)

  

只需替换<asp:ScriptManager ... />   与<ajaxToolkit:ToolkitScriptManager> ... />   在您的ASPX页面中,你就是   完成了!

http://blogs.msdn.com/delay/archive/2007/06/11/script-combining-made-easy-overview-of-the-ajax-control-toolkit-s-toolkitscriptmanager.aspx

答案 1 :(得分:3)

您可以编写一个HTTPModule来从响应中获取所有axd / js文件,将它们合并为一个,然后通过对HTTPHandler的请求将它们发送到客户端的浏览器。

您可以查看Mads Kristensen's网站,了解我在说什么。对于像你这样的问题,有很多文章/解决方法。

答案 2 :(得分:1)

检查一下:

Fast ASP.NET web page loading by downloading multiple javascripts in batch

另外,一个常见的错误是在我看过的一些网站中设置<compilation debug=”true”/>。根据{{​​3}},

当设置<compilation debug=”false”/>时,WebResource.axd处理程序将自动为通过它检索的资源设置长缓存策略 - 这样资源只下载一次到客户端并永久缓存在那里(它也将缓存在任何中间代理服务器上。

答案 3 :(得分:0)

问题是如何最小化对服务器的整体请求....

个人而言,我认为这不是问题,如果这些js文件加载ONCE。 因为它们应该由客户端缓存。也许你想调查,为什么这不会发生。 其次,ScriptManager中有一个标签,用于限制你的js文件.... 也许你想查看CompositeScript标签......

另外,我建议查看LoadScriptsBevoreUI属性并将其设置为false。然后你的内容被加载到javascripts。

答案 4 :(得分:0)

在ToolkitScriptManager中使用CombineScripts = true