Коллекция, привязанная к 'модели', превышена MvcOptions.MaxModelBindingCollectionSize (1024)
Я получаю исключение при отправке в контроллер массива из более чем 1024 элементов (в настоящее время 2500 элементов). Кажется, существует максимальное ограничение на количество отправляемых элементов - 1024.
Кажется, он установлен в MvcOptions, однако я использую.Net Core 3.0 и использую маршрутизацию конечных точек, поэтому у меня нет доступа к MvcOptions через UseMVC.
Как я могу поднять этот лимит?
Раньше я повышал ограничения, добавляя вспомогательный атрибут, как показано ниже. Однако я не уверен, где мне нужно установить этот конкретный предел - он не является частью HttpContext.Features.
public void OnAuthorization(AuthorizationFilterContext context)
{
var features = context.HttpContext.Features;
var formFeature = features.Get<IFormFeature>();
if (formFeature == null || formFeature.Form == null)
{
features.Set<IFormFeature>(new FormFeature(context.HttpContext.Request, _formOptions));
}
}
1 ответ
Решение
В Startup#ConfigureServices
services.Configure<FormOptions>(options => options.ValueCountLimit = 5000); // select your max limit
Для.net core 3.1
Обновите приведенный ниже код в файле запуска
services.AddMvc(options =>
{
options.MaxModelBindingCollectionSize = int.MaxValue;
});