ToolkitScriptManager Optimizar el uso de Ajax
Siguiendo con los articulos de Ajax, bueno un poco rezagado y regresando de un viaje a Ecuador luego de dictar un taller de Vs 2008 aqui va mi nuevo envio.
Hay una version del Ajax Control Toolkit que trae un control el ToolScriptManager,
http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=16488
http://weblogs.asp.net/scottgu/archive/2007/06/08/new-asp-net-ajax-control-toolkit-release.aspx
Este nuevo control permite combinar varios archivos JavaScript en una sola descarga pero agregando ademas la caracteristica de comprimir esta descarga. Lo que permite evidentemente una mejora notable en rendimiento respecto a versiones anteriores de Ajax. Usar este control en lugar del ScriptManager.
Porque usar este control? Actualmente cuano un navegador Web realiza atenciones a peticiones estas se van procesando de manera que nunca se estén sirviendo más de 4 peticiones simultaneamente, entonces cuantas mas peticiones mas lenta la pagina
Con el ScriptManager que viene con el Service Pack 1 de Visual Studio 2008 y del Framework 3.5 tenemos lo siguiente:
<asp:ScriptManager ID="scriptManager" runat="server">
<CompositeScript>
<Scripts>
<asp:ScriptReference Path=”~/Scripts/JSArchivo1.js” />
<asp:ScriptReference Path=”~/Scripts/JSArchivo2.js” />
</Scripts>
</CompositeScript>
Pero tambien requerimos los archivos JS de Ajax, los mismos y solo los que estan siendo usados pueden ser descargados de la siguiente manera:
<asp:ScriptManager ID="scriptManager" runat="server">
<CompositeScript>
<Scripts>
<asp:ScriptReference name="MicrosoftAjax.js"/>
<asp:ScriptReference name="MicrosoftAjaxWebForms.js"/>
<asp:ScriptReference name="AjaxControlToolkit.ExtenderBase.BaseScripts.js" assembly="AjaxControlToolkit, Version=3.0.20229.20843, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"/>
<asp:ScriptReference name="AjaxControlToolkit.ConfirmButton.confirmButtonBehavior.js" assembly="AjaxControlToolkit, Version=3.0.20229.20843, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"/>
<asp:ScriptReference name="AjaxControlToolkit.Compat.Timer.Timer.js" assembly="AjaxControlToolkit, Version=3.0.20229.20843, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"/>
<asp:ScriptReference name="AjaxControlToolkit.Common.Common.js" assembly="AjaxControlToolkit, Version=3.0.20229.20843, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"/>
<asp:ScriptReference name="AjaxControlToolkit.Animation.Animations.js" assembly="AjaxControlToolkit, Version=3.0.20229.20843, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"/>
<asp:ScriptReference name="AjaxControlToolkit.AlwaysVisibleControl.AlwaysVisibleControlBehavior.js" assembly="AjaxControlToolkit, Version=3.0.20229.20843, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"/>
</Scripts>
</CompositeScript>
</asp:ScriptManager>
Por supuesto mas los archivos JS nuestros originales dle primer ejemplo.
Joel