我已经使用 ASP.NET Core 2.2 构建了一个 API 应用程序。
一切都很好。除了一个PATCH
API,它需要一个 ID 和一个列表来替换相应项目的列表。
这个 API也适用于 POSTMAN。简单快速,按预期工作。
但是,要在浏览器上运行,发送该请求会延迟 1 分钟。
我试图通过仅在一个 jQuery 函数中重写应用程序来使其变得简单,以检查问题是否出在我的前端应用程序上;但是它仍然会停止 1 分钟。
我查了一下stalled
,有人说同时加载最多 6 个请求可以是 Chrome 策略;但这不是我的情况。当时只有这样的请求,除此之外,其他所有 API 都可以正常工作。
另外,我尝试过其他浏览器:Firefox 和 Edge,但还是一样。
根据 Chrome 提供的文章:
- 排队。浏览器在以下情况下将请求排队:
- 有更高优先级的请求。
- 已经为此源打开了六个 TCP 连接,这是限制。仅适用于 HTTP/1.0 和 > HTTP/1.1。
- 浏览器在磁盘缓存中短暂分配空间
- 停滞不前。请求可能因排队中描述的任何原因而停止。
似乎长时间“停滞”意味着请求未发送事件。这是否意味着我可以排除修复后端 API 的可能性?
还有,既然同时没有其他请求,那是不是很可能是“浏览器在磁盘缓存中短暂分配空间”的原因呢,还是有其他原因呢?
我也想知道为什么只有这个 API 会出现这个问题。方法“ PATCH ”有什么特别之处吗?