2010-09-21 35 views
0

我有一个页面,做一个AJAX请求。此请求可能需要一段时间才能完成,有时会超过一分钟。这不是问题。无法加载网页后做AJAX请求

在AJAX请求期间,我无法加载网站上的任何其他页面。这对任何Web浏览器都是一样的。

据我所知,在浏览器,IIS和ASP.NET中有连接限制 - 但它们都允许至少2个连接。

我正在使用IIS7和ASP.NET 4.0。

我已经提出了一些示例代码来演示这个问题。 的代码是在这里: http://pastebin.com/A4WqUMbp

在这里看到了问题的一个视频: http://www.screencast.com/users/steel_andrew/folders/Jing/media/d53f74e2-5fb7-44a7-b641-526d9d4d5f0a 您可以在视频中看到,被打开,直到AJAX请求完成不返回页面中的第二个选项卡。

任何帮助将不胜感激。

感谢, 安德鲁

+0

什么样的错误你得到访问其他网页?为什么需要这么长时间(沉重的sql查询/ IO访问/等)? – 2010-09-21 15:45:13

+0

我已更新我的帖子,更多信息。克劳迪奥 - 长期的要求不是问题。查看我的示例代码和视频。 – andyuk 2010-09-22 09:09:22

回答

0

我找到了我的问题的答案。 kizzie33是对的,这是一个会话问题。

据微软称:

访问ASP.NET会话状态是 每个会话,这意味着 ,如果两个不同的用户做出 并发请求独占,访问每个 单独的会话被授予 同时。但是,如果对 同一会话(通过使用相同的 SessionID值)进行了两个 并发请求,则第一个请求 将获得对会话 information.information的独占访问权限。

从MSDN页摄于ASP.NET Session State Overview

1

我不知道的ASP但如果你使用一个会话,那么你只能在同一时间打开的会话中运行一个脚本,即仅适用于PHP,但我会检查CUS我有问题。

+0

我对PHP很熟悉,但我不知道你正在谈论的限制。可以同时执行AJAX请求。在IE6/7中,限制是2个连接,其他浏览器允许更多。引用某些东西的链接会很棒。 – andyuk 2010-09-21 15:49:25

0

目前还不清楚,你的意思是由

在AJAX请求我无法 负载上websiteload网站上的任何其他网页上的任何其他页面。

你是说当前页面停止页面渲染,还是你说浏览器本身停滞不前,用户无法做任何事情?在网站上加载任何其他页面?你确定你所指的AJAX调用真的是异步吗?你能分享一下它的实际代码吗?

+0

在AJAX调用之后发出的第二个请求阻塞,直到AJAX请求完成。我无法在网站上加载任何其他页面。我会通过链接到示例代码更新我的问题。 – andyuk 2010-09-22 08:36:36