日期:2014-05-17  浏览次数:20376 次

ASP.NET AJAX内存泄露问题
是用微软自带的ASPNET AJAX Extension

后台代码:
[WebMethod]
public static string ReadName ()
{
  return "ZhangSan";
}

ASPX中
<div id="userNameDiv"></div>
<script>
function readUserName (){
   PageMethods.ReadName(onReadNameCompleted);
}
function onReadNameCompleted(data) {
   document.getElementById("userNameDiv").innerText = data;
}
window.setInterval("readUserName ()", 1000);
</script>

上述代码运行后页面发生内存泄露,且泄露非常严重。
请问如果才能解决这个泄露问题??非常急。。


------解决方案--------------------
晕。。。
你每隔一秒就执行一次 ajax,然后数据可能还在查询,你就又执行了一次ajax.
你还怪别人的的js有内存泄露。。。
10个客户端同时访问你的网页,一秒钟内可能产生20个http请求。
客户端行,服务器端也要挂了。。。
------解决方案--------------------
引用:
晕。。。
你每隔一秒就执行一次 ajax,然后数据可能还在查询,你就又执行了一次ajax.
你还怪别人的的js有内存泄露。。。
10个客户端同时访问你的网页,一秒钟内可能产生20个http请求。
客户端行,服务器端也要挂了。。。

++
------解决方案--------------------
好像是有很多人说IE有这个问题,不过我用IE9试下来没发现问题。
你用的什么浏览器,页面上还有其它代码吗?
------解决方案--------------------
没有其他代码了,IE7和IE8居多。


虽然查询比较复杂,但是基本控制在150ms内可以完成。
------解决方案--------------------
该回复于2012-11-22 09:05:18被管理员删除
------解决方案--------------------
把执行频率放长点吧 ,你这样感觉有问题.
------解决方案--------------------
引用:
晕。。。
你每隔一秒就执行一次 ajax,然后数据可能还在查询,你就又执行了一次ajax.
你还怪别人的的js有内存泄露。。。
10个客户端同时访问你的网页,一秒钟内可能产生20个http请求。
客户端行,服务器端也要挂了。。。
同意!
------解决方案--------------------
很简单调用,应该没有问题吧。
------解决方案--------------------
内存泄露,提示什么错误?

把时间再弄长一点
------解决方案--------------------
看了你的代码,才知道这种检测用户的方式真坑爹,村内飙升,不登陆一下网页就卡爆了
------解决方案--------------------
内存泄露是怎么回事呢? 
------解决方案--------------------
引用:
内存泄露是怎么回事呢?


IE的内存持续增加。
------解决方案--------------------
引用:
看了你的代码,才知道这种检测用户的方式真坑爹,村内飙升,不登陆一下网页就卡爆了

页面开在哪里还需要能够7*24的工作。
------解决方案--------------------
ASPNET AJAX Extension 还用这个那么写过,不过你那执行频率确实有点太频繁了
------解决方案--------------------
我在IE6/7/8下都试了,没发现问题,所以这段代码本身没问题。
可能是你的环境、插件等造成的,或者你页面上还有其它代码。