【发布时间】:2020-07-09 12:23:37
【问题描述】:
我已经使用 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”有什么特别之处吗?
【问题讨论】:
标签: asp.net-core postman httprequest patch stalled