Azure WebApp не принимает большие полезные данные JSON

У меня есть проект ASP.NET Core 2.1 WebAPI, размещенный в Azure как служба приложений Windows на уровне «Премиум».

Этот API имеет конечную точку, которая принимает запрос POST с полезной нагрузкой JSON (Content-Tye = application / json).

Когда я вызываю этот API (из Postman или из консольного приложения C # с помощью HttpClient) и передаю полезную нагрузку JSON размером 100 КБ, он выдает ошибку «существующее соединение было принудительно закрыто удаленным хостом». Но когда я вызываю тот же API с меньшей полезной нагрузкой JSON, например 20 КБ, это удается.

Итак, есть ли какие-либо настройки для увеличения длины запроса в Azure WebApp?


person Prado    schedule 04.03.2019    source источник


Ответы (1)


Начиная с ASP.NET Core 2.0.0, и Kestrel, и HttpSys будут применять ограничение на максимальный размер тела запроса 30 МБ (~ 28,6 МБ).

Если размер тела запроса превышает настроенный максимальный размер тела запроса, вызов Request.Body.ReadAsync вызовет исключение IOException. Если это исключение не перехвачено, Kestrel ответит ответом 413 Payload Too Large, а HttpSys ответит общим ответом 500 Internal Server Error.

Это ограничение может быть изменено глобально или для каждого запроса и отключено для Kestrel, работающего за IIS, где по-прежнему применяется обычное ограничение web.config.

Из https://github.com/aspnet/Announcements/issues/267

person DashleenBhandari-MSFT    schedule 07.03.2019