Ami*_*itd 2 c# asp.net iis ajax comet
麻烦的是我想在同一页面中实现发送和通知部分.在IE7上,每当我尝试发送请求时,它就会排队等候.在互联网和stackoverflow页面上阅读后,我发现每页只能同时执行2个asyn ajax请求.
所以在我关闭我的彗星Ajax请求之前,我的第二个请求没有完成,甚至没有从浏览器中出来.当我用Firefox检查时,我只是一个Ajax彗星请求一直在运行.那么这不会给我留下另外一个ajax请求吗?
该解决方案还使用了IRequiressessionstate for Asynchronous HTTP Handler,我已将其删除.但它仍然在IE7的多个实例上产生问题.
我有一个工作在这里陈述http://support.microsoft.com/kb/282402
 
这意味着我们可以从注册表增加请求限制默认为2. 
通过更改
配置单元中的" MaxConnectionsPer1_0Server "键
"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"我们可以增加请求数量.
基本上我想使用Comet向连接到服务器的多个客户端广播信息,客户端也可以向服务器发送消息.
广播工作但发送请求回服务器不起作用.
我正在使用IIS 6和ASP.NET.
有没有更多的变通办法或方法来发送更多请求?
参考文献:
在流行的浏览器中允许多少并发AJAX(XmlHttpRequest)请求?
您只能使用2个连接,但通常只需要1个即可发送,1个接收,即使在IE中也是如此.
那就是说,你可以完全做到这一点; 我们一直在WebSync中这样做.解决方案在于子域.
需要注意的是IE(和其他浏览器,虽然它们通常限制为6个请求,而不是2个)限制每个域的请求 - 但是这个限制是针对整个域而不是子域.例如,您可以向"www.stackoverflow.com"打开2个请求,同时向"static.stackoverflow.com"打开另外2个请求.
现在,你必须要小心这种方法,因为如果你从www子域向静态子域发出请求,这被认为是跨域请求,所以你立即被限制为不使用直接XHR调用,但是那时你已经绕过了2连接限制; JSONP,HTML5等都是您绕过跨域限制的朋友.
编辑
使用> 1个IE实例进行管理会回到同样的问题.该限制适用于所有实例.因此,如果您打开了两个浏览器,并且它们都使用了彗星,那么您将无法打开2个长轮询连接.如果您已经最大化了选项,那么您将把这些长轮询请求连接到类似"comet.mysite.com"的内容,并且您的非长轮询请求将转到"mysite.com".如果不进入通配符DNS,这是最好的.
看看我们的一些WebSync演示 ; 他们在2个IE实例中工作没有问题.如果您查看源,您将看到流连接的DNS与主页不同; 我们使用JSONP来绕过跨域限制.
| 归档时间: | 
 | 
| 查看次数: | 1596 次 | 
| 最近记录: |