You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 8 Web API为何无法并行处理多个请求?

问题原因分析

你的ASP.NET Core 8 Web API本身支持并行处理异步请求,问题出在浏览器的请求并发限制策略上,而非服务器端:

  • 当你在同一个无痕窗口的多个标签页访问同一个URL时,浏览器会将这些请求归为同一会话上下文(即使是无痕模式,同一窗口内的标签页仍共享会话状态)。对于相同URL的GET请求,浏览器会默认采用请求排队机制——等待前一个请求完成后再发送下一个,以此避免重复请求、保证缓存一致性。这就导致你看到的串行执行现象:第一个请求耗时10秒,第二个等第一个完成后再开始,总耗时约19秒,第三个同理。
  • 服务器端的代码没有问题:Task.Delay(10_000)是异步非阻塞操作,执行时会释放当前线程回到线程池,服务器可以同时处理其他请求。你可以用Postman、curl等工具同时发送多个请求,会发现所有请求都能在约10秒内完成,这证明服务器是支持并行处理的。
验证方法
  • 打开多个独立的无痕窗口(而非同一窗口的多个标签页)访问该URL,请求会并行执行。
  • 修改每个请求的URL,添加不同的查询参数(比如/?id=1、/?id=2),浏览器会将它们视为不同请求,从而并行发送。

内容的提问来源于stack exchange,提问作者Volodymyr V.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 01:22:16