有没有关于微软ASP.NET Ajax效率的研究?
答案 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显示了请求和响应的大小。