【问题标题】:Azure WebApp not accepting larger JSON payloadAzure WebApp 不接受更大的 JSON 有效负载
【发布时间】:2019-03-04 04:59:39
【问题描述】:

我在 Azure 中托管了一个 ASP.NET Core 2.1 WebAPI 项目,作为高级层中的 Windows 应用服务。

此 API 有一个端点,可以接受带有 JSON 负载 (Content-Tye=application/json) 的 POST 请求。

当我调用此 API(从 Postman 或使用 HttpClient 从 C# 控制台应用程序)并传递 100KB 的 JSON 有效负载时,它会给出错误 “现有连接被远程主机强制关闭”。 但是,当我使用较小的 JSON 有效负载(例如 20KB)调用相同的 API 时,它就成功了。

那么 Azure WebApp 中是否有任何设置可以增加请求长度?

【问题讨论】:

    标签: azure azure-web-app-service azure-webapps


    【解决方案1】:

    从 ASP.NET Core 2.0.0 开始,Kestrel 和 HttpSys 都将实施 30MB (~28.6 MiB) 的最大请求正文大小限制。

    如果请求正文大小超过配置的最大请求正文大小限制,则对 Request.Body.ReadAsync 的调用将引发 IOException。如果未捕获此异常,Kestrel 将响应 413 Payload Too Large 响应,而 HttpSys 将响应通用 500 Internal Server Error 响应。

    此限制可以全局更改,也可以基于每个请求进行更改,并且对于在正常 web.config 限制仍然适用的 IIS 后面运行的 Kestrel 禁用。

    来自https://github.com/aspnet/Announcements/issues/267

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多