Kal*_*exx 5 memory-leaks updatepanel webforms google-chrome timer
我为公司建立了一套内部网站来管理我们的一些流程.我注意到这些页面存在大量内存泄漏,导致页面使用超过150mb的内存,这对于包含单个表单和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>
Run Code Online (Sandbox Code Playgroud)
这背后绝对没有代码.这是整个页面.在Chrome中运行此网站会显示内存使用量在20-30秒内最多可达25兆.让它运行几分钟使内存达到70兆等等.
我使用定时器和更新面板是错误的,还是这是一个纯粹的Asp.net问题,没有解决方法?
注意:我不是在谈论服务器上使用的内存,我在谈论客户端上使用的内存.
编辑:好吧,这似乎是Chrome的一个问题.Firefox和IE8在长时间运行此页面时似乎没有任何内存问题.
.NET 不一定会使用所有内存。请参阅如何确定我的 .NET 程序使用了多少内存?
我曾经读过一篇关于它的非常好的文章,但现在找不到了。如果我这样做,我会更新这个答案。
编辑:这是一个很好的:链接 还有一个:http ://www.getdotnetcode.com/gdncstore/free/Articles/The%20Memory%20Mystery.htm
| 归档时间: |
|
| 查看次数: |
1824 次 |
| 最近记录: |