繁体   English   中英

使用 NodeJS Express + Azure 应用服务(.NET 运行时)时,较大的请求会冻结

[英]Larger requests freeze when using NodeJS Express + Azure App service (.NET runtime)

这是我一直坚持一段时间的事情,所以注册了一个帐户寻求帮助。 所以我有 NodeJS 10 在 Azure App 服务中运行 Express 4.17 服务器。 应用服务类型是 .NET,所以它有一个 web.config。 一些请求(极端情况)非常大(> 20 MB),API 可以处理较小的请求,但在加载较大的请求一段时间后就会冻结,奇怪的是总是 2.1 分钟或 3.9 分钟。 对于较慢的互联网连接,接近阈值的案例比快速连接失败更多。 所以对我来说,这看起来像是一个超时问题。 在本地运行 API 时,它工作得很好。

到目前为止我尝试过的事情是:

  • 使用 connection-timeout NPM 模块和标准方式初始化时,为 express 服务器设置超时,如下所示:

 const server = app.listen(PORT, () => {}); server.timeout = 600000;

  • 然后还尝试在 web.config 的 system.web 中设置 executionTimeout。 那些似乎没有效果。

有任何想法吗? 提前致谢:)

将以下内容添加到您的 web.config 中:

<system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxQueryString="32768"/>
    </requestFiltering>
  </security>
</system.webServer>

还要在您的 web.config 中添加以下内容

<system.web>
    <httpRuntime maxQueryStringLength="32768" maxUrlLength="65536"/>
</system.web>

上面配置设置中的数字(32768 和 65536)只是示例。 您不必使用那些确切的值。根据您的要求进行编辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM