.net - 表单提交导致 "InvalidDataException: Form value count limit 1024 exceeded."

标签 .net asp.net-mvc asp.net-core-3.1 asp.net-core-1.0 appsettings

我创建了一个 mvc 站点,并且发布了大量 json 表单数据 (Content-Type:application/x-www-form-urlencoded) 回到mvc Controller 。当我执行此操作时,我收到一条 500 响应,其中指出:“InvalidDataException:超出了表单值计数限制 1024。”

在以前版本的 aspnet 中,您可以将以下内容添加到 web.config 中以增加限制:

<appSettings>
    <add key="aspnet:MaxHttpCollectionKeys" value="5000" />
    <add key="aspnet:MaxJsonDeserializerMembers" value="5000" />
</appSettings>

当我将这些值放入 web.config 中时,我没有看到任何变化,因此我猜测 Microsoft 不再从 web.config 中读取这些值。 但是,我不知道应该在哪里设置这些设置。

非常感谢任何有关增加表单值计数的帮助!

需要明确的是,当我的帖子数据中的项目数小于 1024 时,此请求可以正常工作。

更新: 在 asp.net MVC Core 3.1 中,错误消息是 - “无法读取请求表单。超出表单值计数限制 1024。”

最佳答案

默认的formvalue(不是formkey)限制是1024。

此外,我认为您可以更改 Startup.cs 文件中的 FormOptions 限制。

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<FormOptions>(options =>
    {
        options.ValueCountLimit = int.MaxValue;
    });
}

关于.net - 表单提交导致 "InvalidDataException: Form value count limit 1024 exceeded.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38357108/

相关文章:

asp.net - 大型网站的母版页

c# - 获取两个数据行中的键值对差异?

c# - 使用 ip 和端口将 TCP 消息从 dot net 服务器发送到我的 iOS 设备

c# - 无法从 ASP.NET MVC 中的操作返回图像流

json - ASP.NET Core 3 - Serilog 如何在 appsettings.json 文件中配置 Serilog.Sinks.Map?

c# - 文本框中的三个点

asp.net-mvc - 部分验证 ASP.NET MVC

c# - MVC Razor 二级级联列表框不会过滤

c# - 如何在没有 "new' ing"类实例并自己提供参数的情况下进行依赖注入(inject)?

web-deployment-project - 发布核心 3.1 Web 应用程序