为什么 .NET 请求等待另一个?

Why is a .NET request waiting for the other?

根据我的经验收集的知识表明,.NET WebForms 可能正在使用请求队列,当第一个请求得到正确处理时,新的第一个进入队列的头部,依此类推。这种行为最近导致了一个误解,我们认为某个功能很慢,但实际上,其他一些功能总是 运行 在它之前是慢的。但这只是一个小误会。我可以想象更严重的问题,例如一个更长的请求阻塞了其他请求,我还没有时间在多个会话上测试它,看看这个队列是否是会话级的,但我认为如果我是甚至对它的存在也是正确的。因此我的问题是:为什么后面的请求要等待 .NET WebForms 项目中较早的请求的解析?

可能Session。

来自同一 session 且使用 session 状态的请求不会同时 运行。这意味着应用程序可以使用 session 状态而无需担心竞争条件。

来自不同 session 的呼叫没有阻塞。也不会阻止来自同一客户端的 session 状态已禁用或只读的调用。

参见 the MSDN description of the PagesEnableSessionState Enumeration