急请教:利用Timer、UpdatePanel局部刷新页面,客户端Browser占用内存不断增长

Irismay 2011-01-25 06:44:33
我利用asp.net WebForm编写需要实时刷新大量数据方面的网站,就是几秒钟就需要刷新几十或更多的数据。遇到客户端IE浏览器内存泄漏问题,请各位前辈高手帮忙看看如何解决?感谢先:)

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


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”只为了突出内存增长这个问题】

...全文
554 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
是,用前端的AJAX吧。
回复
孟子E章 2011-01-25
建议你自己写ajax代码,别人写好的代码你是无法修改了
回复
相关推荐
发帖
跨浏览器开发
创建于2010-06-28

5005

社区成员

解读Web 标准、分析和讨论实际问题、推动网络标准化发展和跨浏览器开发进程,解决各种兼容性问题。
申请成为版主
帖子事件
创建了帖子
2011-01-25 06:44
社区公告
暂无公告