是用微软自带的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请求。
客户端行,服务器端也要挂了。。。
------解决方案--------------------------------------------------------
++
------解决方案--------------------------------------------------------
好像是有很多人说IE有这个问题,不过我用IE9试下来没发现问题。
你用的什么浏览器,页面上还有其它代码吗?
------解决方案--------------------------------------------------------
没有其他代码了,IE7和IE8居多。
虽然查询比较复杂,但是基本控制在150ms内可以完成。
------解决方案--------------------------------------------------------
该回复于2012-11-22 09:05:18被管理员删除
------解决方案--------------------------------------------------------
把执行频率放长点吧 ,你这样感觉有问题.
------解决方案--------------------------------------------------------
同意!
------解决方案--------------------------------------------------------
很简单调用,应该没有问题吧。
------解决方案--------------------------------------------------------
内存泄露,提示什么错误?
把时间再弄长一点
------解决方案--------------------------------------------------------
看了你的代码,才知道这种检测用户的方式真坑爹,村内飙升,不登陆一下网页就卡爆了
------解决方案--------------------------------------------------------
内存泄露是怎么回事呢?
------解决方案--------------------------------------------------------
IE的内存持续增加。
------解决方案--------------------------------------------------------
页面开在哪里还需要能够7*24的工作。
------解决方案--------------------------------------------------------
ASPNET AJAX Extension 还用这个那么写过,不过你那执行频率确实有点太频繁了
------解决方案--------------------------------------------------------
我在IE6/7/8下都试了,没发现问题,所以这段代码本身没问题。
可能是你的环境、插件等造成的,或者你页面上还有其它代码。