急请教:利用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呈周期性上下浮动平均起来基本不增加。

...全文
326 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xpressSong 2012-04-26
  • 打赏
  • 举报
回复
我觉得是逻辑上的错~
丁码农 2011-01-28
  • 打赏
  • 举报
回复
还在用UpdataPanel这种东西?可以换别的Ajax框架吗?

52,792

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧