loda7023link 2016-10-14 10:40 采纳率: 33.3%
浏览 1476
已结题

asp.net mvc ajax长轮询阻塞问题

问题是这样的
1.打开网站项目,重新生成,ok,打开网页,网页马上向后台发送一个ajax长轮询。
2.vs后台的TestController(继承自AsyncController)下的public Task GetData 方法处理这个ajax请求,有结果就返回结果,没有结果的就1分钟后返回结果。

问题就出现在这里,我如果在同一个浏览器下,访问同一个域名网页,就会阻塞,直至我的ajax异步返回结果的一瞬间,才能响应其他请求。而ajax再次发送请求的时候,继续阻塞。
这时我想到是不是我后台写错了,AsyncController没起作用,但是最诡异的事情发生了:假如我这时候重新生成解决方案后,不但不再阻塞我其他的网页请求,而且我的旧页面(重新生成项目后并没有刷新页面)的轮询还能正常继续。

好了,说了这么多,答案是不是我重新生成项目的时候,因为Session也被同时清除了,所以就能既能轮询,也能响应其他请求了。如果真的这样的话,我的异步controller还有意义吗?除了清除Session,还有其他办法不阻塞浏览器的会话吗?

  • 写回答

1条回答 默认 最新

  • loda7023link 2016-10-14 11:00
    关注

    自己置顶图片说明,没有高人解决吗

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制