You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向ASP.NET Core服务器发送长度>250的JSON报500内部服务器错误

解决ASP.NET Core接收大型数组时的500内部服务器错误

看起来你遇到的问题是当发送超过250项的JavaScript数组到ASP.NET Core控制器时触发了500错误,而小批量数据正常。这种情况我之前也碰到过,大概率是ASP.NET Core的默认配置限制了请求体大小或者模型绑定的集合长度,下面是具体的排查和解决步骤:

1. 先查服务器日志,定位具体错误原因

500是个通用的内部错误,服务器端的日志里肯定有更详细的异常信息——比如是「请求体过大」「模型绑定集合长度超限」还是其他问题。你可以查看ASP.NET Core的控制台日志或者配置的日志文件,找到具体的错误类型和消息,这能帮你精准定位问题,避免瞎试配置。

2. 调整请求体大小限制

ASP.NET Core默认对请求体大小有上限,如果你发送的数组总数据量超过了默认值,就会触发错误。你可以全局配置或者针对单个接口调整:

全局配置(适用于所有接口)

在.NET 6+的Program.cs里添加以下配置:

// 调整表单相关限制(如果是表单提交数组的话需要)
builder.Services.Configure<Microsoft.AspNetCore.Http.Features.FormOptions>(options =>
{
    options.ValueCountLimit = int.MaxValue; // 允许更多的表单字段数量
    options.MultipartBodyLengthLimit = int.MaxValue; // 如果涉及文件上传的话
});

// 调整JSON请求体大小限制
builder.Services.AddControllers()
    .AddMvcOptions(options =>
    {
        // 设置允许的最大请求体大小,这里设为int最大值,你也可以改成具体数值比如100*1024*1024=100MB
        options.MaxRequestBodySize = int.MaxValue;
    });

针对单个接口配置

如果不想全局放开限制,直接在控制器的动作方法上加[RequestSizeLimit]特性即可:

[HttpPost]
[RequestSizeLimit(100 * 1024 * 1024)] // 允许100MB的请求体
public IActionResult SubmitInfo([FromBody] List<Info> objectArr)
{
    // 你的业务处理逻辑
}

3. 检查模型绑定的集合长度限制

ASP.NET Core的模型绑定默认对集合的长度有一个限制(默认是1024,但有些场景下可能被自定义修改过)。如果你的数组项数刚好触碰到这个限制,也会触发错误。可以在全局配置里调整:

builder.Services.AddControllers()
    .AddMvcOptions(options =>
    {
        // 设置允许绑定的最大集合长度,这里设为int最大值
        options.MaxModelBindingCollectionSize = int.MaxValue;
    });

4. 前端请求配置检查

别忽略前端的问题!确保你发送请求时正确设置了Content-Type: application/json,不然服务器可能无法正确解析JSON数组,导致模型绑定失败进而触发500错误。比如用axios的示例:

axios.post('/api/your-controller/submit', objectArr, {
    headers: {
        'Content-Type': 'application/json'
    }
})
.then(res => console.log(res))
.catch(err => console.error(err));

其他小概率原因

  • 如果数组里每个对象都包含大量数据,可能触发服务器内存不足,但这种情况比较少见;
  • JSON序列化配置问题,比如某些属性无法被正确序列化,但这种情况不管数组大小都会报错,所以可能性较低。

总结一下,先查服务器日志找具体错误,然后大概率调整请求体大小或模型绑定集合限制就能解决问题啦。

内容的提问来源于stack exchange,提问作者junep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:34:50