【问题标题】:How to stop web app from automatically getting timed out after one minute when http.get is called?如何在调用 http.get 时阻止 Web 应用程序在一分钟后自动超时?
【发布时间】:2021-01-08 08:05:22
【问题描述】:

我必须调用一个 API 函数,该函数在角度方面返回一个特定值。但是,此 api 服务需要 2-3 分钟才能返回结果。当我在本地环境中尝试此操作时,它工作正常,并且 Web 部分一直等到获得 API 的响应。但是当我在 IIS 中部署它时,web 端会在 1 分钟后自动超时。有没有人遇到过类似的问题?有没有办法让你的函数在 web 端等待 3 分钟?

以下是我如何从我的 TS 文件中调用 api 函数

return this.http.get(Endpoints.EndpointName);

【问题讨论】:

  • 任何需要这么长时间的事情都不应该是一个单一的请求/响应周期。约定是返回 202 Accepted 并带有 Location 标头,告诉客户端在哪里轮询进度更新。

标签: angular http iis httpclient http-get


【解决方案1】:

在 IIS 管理器中,右键单击站点并转到管理网站 -> 高级设置。在 Connection Limits 选项下,您应该会看到 Connection Time-out:

您可以尝试增加 IIS 中的超时时间。

【讨论】:

  • IIS 中的此超时值为 5 分钟。但我仍然有问题。
  • 你是否也开启了'HTTP Keep-Alive'?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
  • 1970-01-01
  • 1970-01-01
  • 2020-12-13
  • 2011-02-27
  • 2012-03-14
  • 2011-10-24
相关资源
最近更新 更多