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 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试