Ограничение размера параметра asp.net core webapi frombodyC#

Место общения программистов C#
Ответить
Anonymous
 Ограничение размера параметра asp.net core webapi frombody

Сообщение Anonymous »

Я реализовал конечную точку в ASP.NET Core 3.1 для получения большого объекта JSON, и у меня возникла проблема, когда этот JSON становится относительно большим. У меня начинаются проблемы с размером около 5–600 КБ.
Для запросов, тело которых меньше 600–500 КБ, все работает нормально.
Конечная точка определяется следующим образом:

Код: Выделить всё

[DisableRequestSizeLimit]
[RequestFormLimits(ValueCountLimit = int.MaxValue)]
[HttpPost]
[Route("MyTestEndpoint")]
public void PostTest([FromBody]object objVal)
{
// objVal is null when the post is larger than ~5~600KB
string body = objVal.toString;
....
}
web.config: Startup.cs:

Код: Выделить всё

public void ConfigureServices(IServiceCollection services)
{

services.AddControllers().ConfigureApiBehaviorOptions(options =>
{
options.SuppressConsumesConstraintForFormFileParameters = true;
options.SuppressInferBindingSourcesForParameters = true;
options.SuppressModelStateInvalidFilter = true;
options.SuppressMapClientErrors = true;
});
services.AddMvc(options =>
{
options.MaxModelBindingCollectionSize = int.MaxValue;
});

services.Configure(x =>
{
x.ValueLengthLimit = int.MaxValue;
x.MultipartBodyLengthLimit = int.MaxValue;
});
....
}
Знаете ли вы, почему это происходит?
******* РЕДАКТИРОВАТЬ *******
Я попробовал несколько изменений, но ни одно из них не помогло.
Наконец, после обсуждения строкового параметра FromBody выдается ноль. Я изменил метод. , определение модели, удаление универсального объекта в качестве параметра.
Внешний интерфейс был изменен и теперь отправляет ключ="значение", где "Значение" представляет собой строковый объект JSON.

Подробнее здесь: https://stackoverflow.com/questions/680 ... size-limit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»