gpt4 book ai didi

asp.net - asp.net updatePanels 的替代方案

转载 作者:行者123 更新时间:2023-12-02 12:36:57 25 4
gpt4 key购买 nike

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

最佳答案

根据经验,ViewState 通常对 UpdatePanels 和 AJAX 的性能影响最大,因为每次进行往返时,ViewState 中的所有数据都必须序列化并打包到 XmlHttpRequest(s) 中并通过网络发送。

  1. 尽可能减少 ViewState(对于在 aspx 页面上定义的标签等控件关闭它,并且在往返期间不会更改 - 设置属性 EnableViewState="False"这些)

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

  3. 考虑到默认情况下 UpdatePanel 是“连接的”这一事实,这意味着在每次往返期间,所有 UpdatePanel 都将运行其更新功能,即使只需要更改一个面板。要解决此问题,请尝试使用 UpdateMode="Conditional" 属性。然后,您被迫仅在必要时触发多个面板进行更新。

这里有一个关于 UpdatePanel 用法的很好的讨论: One Update Panel vs. Multiple Update Panels

总的来说,我同意其他人的观点,似乎 AJAX 可能不是您唯一的问题。您可能需要分析应用程序和数据库性能,以确保您专注于正确的领域。

关于asp.net - asp.net updatePanels 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1944574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com