我目前正在调试此问题。
我们有一个ASP.NET Web应用程序,我正在调试Cassini。当我尝试使用IE并将请求发送到服务器时,需要一些时间(例如大约20分钟)来处理然后发送响应。
在多标签IE的情况下,我试图在不同的标签中将请求几乎同时发送到同一台服务器,但只有在发出响应之后才会处理响应。
如果启动IE的新实例并且在这些不同的实例中发出请求,则服务器几乎可以同时处理和发送响应。经过一番研究后我发现IIS express可以解决我的问题,但我不能。任何人都遇到过类似的问题,或者我错过了一些非常重要的事情要先检查?
感谢您的帮助。
答案 0 :(得分:2)
这主要是由于ASP.net的会话状态变量以及一次只有一个请求可能具有对特定会话的R / W访问(由SessionID cookie确定)的事实。
任何需要任何形式的会话访问权限的其他请求(由于读/写是默认设置)将被阻止,直到上一个请求完成为止。
基于以下链接:
答案 1 :(得分:0)
我认为您错过了会话锁定所有请求的点,每次只能运行一次。
了解以及为什么: Replacing ASP.Net's session entirely
另外:Web app blocked while processing another web app on sharing same session
答案 2 :(得分:0)
原因是ASP.NET中的Sessions不是线程安全的。因此,ASP.NET序列化对来自同一会话的请求的访问。
如果你有一个多标签IE,那么你的标签共享一个会话。第一个请求立即执行,其他请求排队。如果您有不同的实例,则每个实例都会创建一个新会话,因此请求将并行执行。