为什么对同一个ASP.NET MVC操作同时进行多个AJAX调用会导致浏览器阻塞?
几天前,我问了这个问题: 为什么$ .getJSON()会阻止浏览器? 我几乎在同一控制器动作上同时触发了六个jQuery ajax异步ajax请求。每个请求需要10秒才能返回。 通过调试和记录对操作方法的请求,我注意到请求已被序列化,并且从未并行运行。即我在log4net日志中看到一个时间轴,如下所示: 2010-12-13 13:25:06,633 [11164]信息-获得:1156 2010-12-13 13:25:16,634 [11164]信息-返回:1156 2010-12-13 13:25:16,770 [7124]信息-得到:1426 2010-12-13 13:25:26,772 [7124]信息-返回:1426 2010-12-13 13:25:26,925 [11164]信息-得到:1912 2010-12-13 13:25:36,926 [11164]信息-返回:1912 2010-12-13 13:25:37,096 [9812]信息-得到:1913 2010-12-13 13:25:47,098 [9812]信息-返回:1913 2010-12-13 13:25:47,283 [7124] INFO-Got:2002 2010-12-13 13:25:57,285 [7124]信息-返回:2002 2010-12-13 13:25:57,424 [11164]信息-获得:1308 2010-12-13 13:26:07,425 [11164]信息-返回:1308 查看FireFox中的网络时间轴,我看到以下内容: 上面的日志示例和Firefox网络时间轴都针对同一组请求。 是否对来自同一页面的同一操作的请求进行了序列化?我知道Session在同一会话中对对象的序列化访问,但是没有任何会话数据被触摸。 我将客户端代码剥离为一个请求(运行时间最长的请求),但这仍然会阻塞浏览器,即,仅当ajax请求完成时,浏览器才会响应任何链接单击。 我在这里(在Chrome的开发人员工具中)还观察到,在长时间运行的ajax请求执行时单击链接时,它Failed to load …