AJAX回调锁定页面

时间:2009-07-30 13:25:53

标签: asp.net ajax asynchronous

我有一个长时间运行的数据库查询,我已将其置于异步AJAX回调中(或者我认为),如果用户对结果不感兴趣,则允许用户导航到另一个页面。

无论是在页面加载还是单击后自动调用查询,页面总是会锁定直到它返回,即链接和按钮不起作用。但是,Internet Explorer 6自己的菜单很好,因此IE本身并不会过度工作。

我可能做错了什么?好像我的请求似乎不是异步的。这是一段代码:

this.XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
this.XmlHttp.open("POST", url, true);
this.XmlHttp.send(data);

1 个答案:

答案 0 :(得分:0)

阻止页面的不是浏览器,而是服务器。

IIS每次只处理一个请求。由于用户已经收到了服务器正在进行的AJAX调用的请求,因此新请求将排队,直到处理完第一个请求为止。

要保持长时间运行的请求阻止服务器上的用户,您必须使AJAX调用的页面无会话。这样,它与用户无关。