javascript - 如何在我的 JS/更新面板站点中调试此内存使用/dom 使用增加

标签 javascript asp.net performance updatepanel

我希望一些 Javascript/ASP.Net 专家能在这里给我一些提示。

我编写了一个(不幸的是)使用 UpdatePanel 的应用程序(是的,我知道这是一个愚蠢的想法,但现在为时已晚,我现在更了解它了 - 尽管它是一个内部网站,但我遇到了麻烦与它)

该网站是一个基于网络的时间表网站,一种表格格式。无论如何,它基本上将其中的所有内容保存在更新面板中,并且每分钟自动保存一次。这对我来说似乎工作正常,但我使用 firefox。具有更多时间表条目和 IE7 的其他用户会遇到 IE 内存使用量增加和浏览器速度变慢的问题。

我运行了 Sieve(检查网站上的内存泄漏),很明显它很糟糕: alt text http://rodh.org/images/Programming/sievemain.png

那是我的网站已加载并运行了一段时间,在下降时刷新它并离开它,你可以看到它每分钟跳一次。下降之前时间轴上的区域是当我稍微按下保存按钮时,所以很明显是什么导致了它。 DOM 节点和内存都上升了。

我正在使用 ScriptManager.RegisterClientScriptBlock(主要是为了获取控件的 clientID,以便我可以进行 javascript 总计)以及 page_load 上的 ScriptManager.RegisterStartupScript,以便在部分回发后将焦点设置为相同。也许他们在贡献?

是否有任何工具可以帮助我进一步解决这个问题? Sieve 报告在回发时生成了很多空 div?我以前从未用过筛子,所以也许这种情况总是会发生? alt text http://rodh.org/images/Programming/sievnodes.png

有没有我可以做的某种代码分析,或者至少让我看到每次创建的新 DOM 节点的东西......

我认为 hte 问题可能与我的 hackery 代码有关以获取客户端 ID,它将它们存储在一个数组中,然后在每次回发时重新创建 taht 数组,也许那里出了问题? 我已经上传了执行该黑客操作的 JS 文件,以及后面的代码,以防有人需要更多信息。 http://rodh.org/images/Programming/javascript.txt http://rodh.org/images/Programming/codebehind.txt

所以我想我的问题是: - 任何人都可以立即想到会导致这种情况的任何事情吗? - 在 UpdatePanel 上增加 DOM 使用的一些常见原因是什么(顺便说一句,也使用 Jquery) - 我可以使用哪些工具进行调试?

最佳答案

我可以直接告诉您 Microsoft 知道 IE 问题 (KB 2000262) 与 UpdatePanels。它是 DOM 解析器问题。我有一个网站运行良好,直到某个页面内容大小,然后 IE(所有版本)都适合。 FF 和其他浏览器可以轻松处理相同的页面。

我为提高页面速度所做的事情:

  • 尽可能使用 UpdateMode=Conditional
  • 实现 KB 2000262 修复

UpdatePanel Async Postsback slow in IE…Part 3

关于javascript - 如何在我的 JS/更新面板站点中调试此内存使用/dom 使用增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1592846/

相关文章:

javascript - Angular js : not seeing full results from promise unless console is opened

javascript - 克隆元素的子元素和文本

Javascript:转换对象

c# - 禁用隐藏字段验证

c - 是什么限制了这个简单的 OpenMP 程序的扩展?

javascript - 如何使用 javascript/jquery 突出显示所写的特定单词?

jquery - 试图让最右边的 div 仅使用 CSS 对齐到底部

c# - 从 ASP.NET 文本框向 SQL 数据库写入数据

c++ - 竞争条件会降低代码的性能吗?

c# - String.Format 和垃圾回收