急请教:利用Timer、UpdatePanel局部刷新,IE占用内存不断增长!

Irismay 2011-01-25 05:31:23
我利用asp.net WebForm写需要实时刷新大量数据方面的网站,遇到客户端IE浏览器内存泄漏问题,请各位前辈高手帮忙看看如何解决?感谢先:)

我实时刷新数据的页面类似于下面的简单测试代码,就是几秒钟就需要刷新几十或更多的数据。通过任务管理器看到IE内存占用不断增长。页面放久了,就内存溢出了。

Default.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" Interval="100" OnTick="Timer1_Tick" />
<div>
<asp:Label ID="Label1" runat="server" Text="你好" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>


Default.aspx.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }

protected void Timer1_Tick(object sender, EventArgs e)
{
Label1.Text = "(Ajax.net)现在时间:" + DateTime.Now.ToString();
}
}


【简单示例中Timer Tick 间隔设“100”只为了突出内存增长这个问题】

如上所示,我只利用了asp.net中的UpdataPanel、Timer等服务端控件进行编程,自己没有手工编写任何客户端javascript代码。运行网页随着数据刷新,IE、Safari、Chrome浏览器所耗内存不断攀升,Firefox呈周期性上下浮动平均起来基本不增加。

...全文
282 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xpressSong 2012-04-26
我觉得是逻辑上的错~
回复
丁码农 2011-01-28
还在用UpdataPanel这种东西?可以换别的Ajax框架吗?
回复
相关推荐
发帖
Ajax
创建于2007-09-28

5.2w+

社区成员

Web 开发 Ajax
申请成为版主
帖子事件
创建了帖子
2011-01-25 05:31
社区公告
暂无公告