1

我了解 ASP.NET 使用工作线程来侦听页面请求。我正在尝试追踪应用程序中的错误。

用户访问网页,即 page1.aspx。此页面需要 20 秒才能加载。如果十秒钟后他们打开另一个浏览器并再次访问该页面(保持另一个浏览器窗口打开并加载网页),那么我假设 page1.aspx 的第二个请求不会开始在服务器上生成,直到第一个 page1 请求是发回给客户?即每个用户会话只有一个工作线程?

我花了一些时间调查并发现了很多关于工作线程和 I/O 线程是什么的帖子,但是我还没有找到我的具体问题的答案。

4

1 回答 1

1

如果点击刷新,浏览器会先结束正在运行的请求。它通过关闭与服务器的 TCP 连接来实现。当服务器试图向客户端返回数据时,它会抛出异常。例如“远程主机关闭了连接”。例外。此异常应结束第一个请求。

接下来,浏览器向服务器发送一个新请求,并开始运行。

每个用户会话的工作人员数量没有限制。您可以同时打开三个浏览器选项卡,它们都可以同时向服务器发出请求。但是,大多数浏览器限制了它们发送到单个服务器的同时请求的数量。

于 2013-04-27T09:05:01.193 回答