为什么 Asp.net 计时器/更新面板会在 Chrome 中泄漏内存?可以修复/解决吗?

2024-03-30

我为我们公司建立了一套内部网站来管理我们的一些流程。我注意到这些页面存在大量内存泄漏,导致页面使用超过 150mb 的内存,这对于由单个表单和 GridView 组成的网页来说是荒谬的,该 GridView 在同一时间显示 7-10 行数据。时间,有时数据一整天都没有变化。这是一个问题,因为由于缺乏可用内存,它会减慢我们的客户端计算机的速度。

经过一些测试后发现,内存泄漏非常容易重现,而且非常明显。我使用以下 asp.net 标记创建了一个页面:

<body>
<form id="form1" runat="server">
<div>
    <asp:scriptmanager ID="Scriptmanager1" runat="server"></asp:scriptmanager>    
    <asp:Timer ID="timer1" runat="server" Interval="1000" />

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
    </ContentTemplate>
    </asp:UpdatePanel>
</div>
</form>
</body>

绝对没有任何代码隐藏。这是整个页面。在 Chrome 中运行此网站显示内存使用量在 20-30 秒内飙升至 25 兆。让它运行几分钟会使内存上升到 70 兆等等。

我是否使用了错误的计时器和更新面板,或者这是一个纯粹的 Asp.net 问题,没有解决办法?

注意:我不是在谈论服务器上使用的内存,而是在客户端上使用的内存。


Edit:看来这是 Chrome 的问题。 Firefox和IE8在长时间运行该页面时似乎没有任何内存问题。


.NET 不一定会使用所有内存。看如何确定我的 .NET 程序使用了多少内存? https://stackoverflow.com/questions/357675/how-can-i-determine-how-much-memory-my-net-program-is-using

我曾经读过一篇关于它的非常好的文章,但现在找不到了。如果我这样做,我会更新这个答案。

Edit:这是一个很好的:Link https://learn.microsoft.com/en-us/archive/blogs/tess/net-memory-usage-a-restaurant-analogy还有一件事:http://www.getdotnetcode.com/gdncstore/free/Articles/The%20Memory%20Mystery.htm http://www.getdotnetcode.com/gdncstore/free/Articles/The%20Memory%20Mystery.htm

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Asp.net 计时器/更新面板会在 Chrome 中泄漏内存?可以修复/解决吗? 的相关文章

随机推荐