IE7 Ajax调用被最大连接阻止

时间:2010-10-02 00:09:13

标签: ajax internet-explorer-7 connection comet

我正在进行彗星长轮询以从服务器检索通知。快速请求新页面时会出现严重延迟。长轮询请求保持60秒。我非常有信心因为IE7正在等待这些请求完成。如果我在注册表中添加MaxConnectionsPerServer值,则延迟消失。

我尝试在窗口卸载时对ajax请求调用abort,但是没有用。我有警报,以确保正在调用中止。

我还能做什么?

1 个答案:

答案 0 :(得分:3)

你是对的,问题是由于IE中的2连接限制。

您最好的选择是将长时间保留的请求移动到不同的域(或子域),这将绕过连接限制。进一步考虑这个想法,您可以使用带有通配DNS的随机子域来使解决方案更好。

请注意,这会对您的代码产生安全隐患,因为所有当前浏览器都会默认阻止跨域请求。您的解决方法可能包括cross-site HTTP requests,JSONP和各种HTML5功能,例如postMessage。

我已经更详细地描述了这个问题here