Ajax 长轮询无法正常工作
我正在 MVC 2 中使用长轮询开发一个简单的陌生人聊天应用程序。如果我在不同的浏览器中打开该应用程序,它在我的开发机器上工作正常。我的意思是,如果我在 IE 和 mozilla 中加载该应用程序,
如果我采用浏览器的两个选项卡中的应用程序(例如:IE),长轮询不会从两个选项卡触发。我的意思是,有一个开始按钮可以启动触发长轮询的聊天。我可以看到它在调试时调用操作。我的问题是,当我从选项卡一单击开始按钮时,它会触发 ajax 请求(长轮询(此请求在服务器上等待,直到另一个请求到来))。然后我单击选项卡二中的启动按钮,在服务器返回第一个请求之前(超时后),它不会触发 ajax 请求。
为什么会发生这种情况?我读到浏览器会阻止多个 ajax 请求..这是原因吗? ..如果我使用不同的浏览器,它工作正常。只有当我在同一浏览器中使用两个选项卡时才会出现问题
I am developing a simple strangers chat application using long polling in MVC 2. Its works fine in my development machine if i am opening the application different browsers.. i mean if i loaded the application in IE and mozilla, it works fine
if i took the appliction in two tabs of a browser (eg:IE) , the long polling are not firing from both tabs.. I mean, there is a start button to start chat which fire long polling. I can see it calling actions while debugging.. And my problem is, When i clicked start button from tab one , it fire a ajax request (long polling ( this req wait at server till another reqst comes)).and then i click the start button in tab two, it does not fire the ajax request until the first request is returned from the server(after timeout).
why this is happening? I read like browser will block multiple ajax request..Is that a reason for that? ..It work fine if i am using different browsers.The problem only came if i took two tab in same browser
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,如果您使用会话,ASP.NET 会阻止来自同一会话的并发请求。引自文档:
还要确保您已禁用缓存。例如,如果您使用 jquery,则在轮询时使用
cache: false
选项: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: