集合绑定到“模型”超过 MvcOptions.MaxModelBindingCollectionSize (1024)

Gav*_*tes 2 .net asp.net-core

将超过 1024 个项目的数组提交给控制器(当前为 2,500 个项目)时出现异常。似乎您可以提交的项目数量上限为 1024。

它似乎是在 MvcOptions 中设置的,但是我使用的是 .Net Core 3.0 并使用端点路由,因此我无法通过 UseMVC 访问 MvcOptions。

我怎样才能提高这个限制?

我之前通过添加辅助属性提高了限制,如下所示。但是我不确定我需要在哪里设置这个特定限制 - 它似乎不是 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));
        }
    }
Run Code Online (Sandbox Code Playgroud)

Nil*_*are 5

对于 .net 核心 3.1

更新启动文件中的以下代码

  services.AddMvc(options =>
            {
                
                options.MaxModelBindingCollectionSize = int.MaxValue;

            });
Run Code Online (Sandbox Code Playgroud)