gpt4 book ai didi

c# - ASP.NET Core MVC 3 中的最大请求表单大小问题

转载 作者:行者123 更新时间:2023-12-05 03:58:04 24 4
gpt4 key购买 nike

我刚刚将 Web 应用程序从 ASP.NET Core 2.1 移植到 3.0,但出现了表单 key 长度错误:

InvalidDataException: Form key length limit 2048 or value length limit 2147483647 exceeded. Microsoft.AspNetCore.WebUtilities.FormPipeReader.ThrowKeyOrValueTooLargeException()

在我的 startup.cs 中,我有以下片段:

services.AddMvc()
.SetCompatibilityVersion( CompatibilityVersion.Version_3_0 )
.AddSessionStateTempDataProvider()
// Maintain property names during serialization. See:
// https://github.com/aspnet/Announcements/issues/194
.AddNewtonsoftJson( options =>
{
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
} );


// maxout form sizes
services.Configure<FormOptions>( options =>
{
options.ValueCountLimit = int.MaxValue;
options.ValueLengthLimit = int.MaxValue;
options.MultipartHeadersLengthLimit = int.MaxValue;
} );

但是,与过去一样,这似乎不再奏效了。也许我对需要放置表单选项的位置的顺序有误?

如果可能的话,我宁愿不装饰 100 个控件的 Action ;我宁愿在全局范围内设置它。

最佳答案

尝试为 KeyLengthLimit 添加一个附加选项,它已为我修复。

services.Configure<FormOptions>(options =>
{
options.KeyLengthLimit = int.MaxValue;
options.ValueCountLimit = int.MaxValue;
options.ValueLengthLimit = int.MaxValue;
options.MultipartHeadersLengthLimit = int.MaxValue;
});

关于c# - ASP.NET Core MVC 3 中的最大请求表单大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58230576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com