本文介绍了阿贾克斯长轮询无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我开发一个简单的陌生人使用长轮询MVC 2.它,如果我打开应用程序不同的浏览器工作在我的机器罚款聊天应用程序..我的意思是,如果我在装IE和Mozilla的应用,它工作正常
如果我在浏览器中的两个标签接过机应用(例如:IE),长轮询不是从两个标签射击。我的意思是,有一个开始按钮开始聊这火长轮询。我可以看到它调用的行动,同时调试。而我的问题是,当我点击从标签之一启动按钮,它触发一个Ajax请求(长轮询(此req等待在服务器上,直到另一个reqst来))。然后我点击在标签两种启动按钮,直到第一个请求从服务器(超时后)回到住处不火的Ajax请求。
为什么发生这种情况?我读到这样的浏览器会阻止多个AJAX request..Is,一个原因是什么? ..它正常工作,如果我使用不同的browsers.The问题,如果我在同一个浏览器花了两个选项卡只能排
解决方案
Yes, if you use sessions, ASP.NET blocks concurrent requests from the same session. Quote from the documentation:
Also make sure that you have disabled caching. For example if you use jquery use the cache: false
option when polling:
$.ajax({
url: '/poll',
cache: false,
success: function(result) {
// ...
}
});
这篇关于阿贾克斯长轮询无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!