Microsoft的ASP.NET Ajax效率如何?

时间:2009-04-01 22:16:10

标签: asp.net ajax asp.net-ajax

有没有关于微软ASP.NET Ajax效率的研究?

3 个答案:

答案 0 :(得分:4)

如果由于某种原因你决定使用MS Ajax工具包而不是jQuery或YUI这样的东西,你可以采取一些措施来显着提高性能。

在脚本资源处理程序上启用缓存

在你的web.config中:

<system.web.extensions>
  <scripting>
    <scriptResourceHandler enableCompression=“true” enableCaching=“true”/>
  </scripting>
</system.web.extensions>

脚本合并

使用ASP.NET 3.5的CompositeScript功能将所有MS Ajax脚本合并到一个文件中,从而节省了HTTP请求(默认情况下,此框架会生成大量的请求!)。

<asp:ScriptManager ID=”ScriptManager″ runat=”server” EnablePartialRendering=”false” ScriptMode=”Release” LoadScriptsBeforeUI=”false”>
    <CompositeScript>
        <Scripts>
            <asp:ScriptReference Name=”MicrosoftAjax.js” />
            <asp:ScriptReference Name=”AjaxControlToolkit.Common.Common.js” Assembly=”AjaxControlToolkit, Version=3.0.20229.23352, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e” />
            .... etc
        </Scripts>
    </CompositeScript>
</asp:ScriptManager>

要确定每个网页所调用的脚本,您可以使用Codeplex上提供的ScriptReferenceProfiler

就使用此框架是否明智而言,有几点需要考虑。

  • 如上所述,您的应用是面向公众还是内部网?如果它没有被提供给互联网,那么表现并不是优先考虑的事情。

  • 您的应用是使用webforms还是MVC开发的?

  • 如果你正在使用webforms,那么MS Ajax工具包可以与该模型合理地协调工作,特别是如果你进入整个RAD拖放式开发。

  • jQuery是MVC的一个更好的合作伙伴,微软在某种程度上已经承认了这一点,因为他们将jQuery(以及intellisense支持)与即将推出的visual studio版本捆绑在一起。

  • MS Ajax肯定是比许多替代品更重的框架。另一个与性能无关的批评是,它是一个黑盒子,可能很难调试。

答案 1 :(得分:1)

我不确定研究,但自从beta以来我一直在使用它,我不得不说它更适合于您不太关心页面大小或加载时间的Intranet类型应用程序。

如果我正在建立面向公众的网站,我就不会使用它。我会和MVC和Jquery或其他平台一起去。

答案 2 :(得分:0)

Microsoft的Ajax(特别是更新面板)存在一些性能问题。

而不是我试图解释它,最好看看这篇MSDN杂志文章。

http://msdn.microsoft.com/en-us/magazine/cc163363.aspx

具体而言,图7显示了请求和响应的大小。