asp.net updatePanels的替代方案

Act*_*veX 2 asp.net ajax updatepanel

我正在审查一个Web应用程序已完成90%,但速度非常慢,即使在本地环境(Web服务器和数据库)中,事务也可能需要5-10秒才能完成.这种延迟的原因是它在所有地方都使用了updatepanels,我的意思是99.9%的所有数据库交互.我有什么选择来加速这个应用程序而不必重写整个应用程序?我的意思是我不介意在这里和那里改变一些东西,但是有很多功能依赖于这些事务(updatepanels).

KP.*_*KP. 6

根据经验,ViewState对UpdatePanels和AJAX的性能影响最大,因为每次往返时,ViewState中的所有数据都必须被序列化并打包到XmlHttpRequest中并通过线路发送.

  1. 尽可能地减少ViewState(关闭控件,例如在aspx页面上定义的标签,并且在往返过程中不会改变 - EnableViewState="False"在这些上设置属性)

  2. 最小化UpdatePanel的范围.我的意思是尽可能减少面板内控件的数量.如果在ajax请求期间不需要更新某些控件,请将它们从UpdatePanel中取出以减少客户端开销.

  3. 考虑到默认情况下UpdatePanels是"连接"的,这意味着在每次往返过程中,即使只需要更改一个面板,所有UpdatePanel都将运行其更新功能.要尝试使用该UpdateMode="Conditional"属性.然后,您必须触发多个面板才能在必要时进行更新.

这里有一个关于UpdatePanel用法的很好的讨论: 一个更新面板与多个更新面板

总的来说,我同意其他人的意见,似乎AJAX可能不是你唯一的问题.您可能希望分析应用程序和数据库性能,以确保您专注于正确的区域.