为什么 ASP.NET Core 不并行处理我的请求?

mik*_*gio 4 c# asp.net asp.net-core-mvc asp.net-core

我有一个像这样的简单动作:

[HttpGet]
public async Task<string> GetHtml()
{
    Console.WriteLine("Run=======================================================");
    await Task.Delay(5000);
    Console.WriteLine("End=======================================================");
    return "ok";
}
Run Code Online (Sandbox Code Playgroud)

我快速打开三个窗口,然后转到该 URL。我预计结果如下:

Run=======================================================
Run=======================================================
Run=======================================================
End=======================================================
End=======================================================
End=======================================================
Run Code Online (Sandbox Code Playgroud)

但是,事实并非如此!相反,结果是:

Run=======================================================
End=======================================================
Run=======================================================
End=======================================================
Run=======================================================
End=======================================================
Run Code Online (Sandbox Code Playgroud)

此外,当第一次运行完成后,第二次请求开始。为什么?

Ork*_*nov 5

因此,根据我在评论中的建议,您尝试了 3 个不同的浏览器,并且它按预期工作。所以问题出在浏览器方面。浏览器在如何管理与同一主机名的连接方面有其限制。请参阅其他线程以获取更多信息