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

如何在Asp.Net.Core 1.0的Kestrel服务器中增大POST请求大小?

解决ASP.NET Core 1.0 + Kestrel 增大POST请求大小的方案

哥们,我太懂你这种早期版本踩坑的痛苦了——ASP.NET Core 1.0的配置逻辑和后来的1.1+确实差异不小,尤其是Kestrel的请求限制配置,根本不是那些针对IIS或高版本的方案能解决的。给你整理了一套专门适配Core 1.0的步骤:

1. 调整Kestrel服务器的底层请求限制

Core 1.0中,Kestrel的请求大小限制是直接在WebHost构建时配置的,不是后来版本里的ConfigureServices。你需要修改Program.cs里的代码:

public static void Main(string[] args)
{
    var host = new WebHostBuilder()
        .UseKestrel(options =>
        {
            // 设置最大请求内容长度,这里以100MB为例(单位:字节)
            options.MaxRequestContentLength = 100 * 1024 * 1024;
            // 如果你的请求行(URL+请求方法等)过长,可按需调整这个值(默认8192字节)
            options.MaxRequestLineSize = 8192;
        })
        .UseStartup<Startup>()
        .Build();

    host.Run();
}

2. 配置MVC框架的请求体限制

光改Kestrel还不够,MVC上层框架也有自己的请求体大小限制,必须同步调整。打开Startup.cs的ConfigureServices方法:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc(options =>
    {
        // 这里设置的值建议和Kestrel的保持一致或更大,避免上层拦截
        options.MaxRequestBodySize = 100 * 1024 * 1024;
    });
}

关键注意事项

  • 两个配置缺一不可:Kestrel是底层服务器,会先拦截超出大小的请求;MVC作为上层框架,也会对请求体做二次校验,少了哪一个都会导致请求被拒绝。
  • 单位是字节:计算的时候别搞错,比如1GB就是1024 * 1024 * 1024字节。
  • 针对文件上传的额外提醒:如果你的POST请求是上传文件(multipart/form-data格式),这两个配置同样生效,不需要额外的特殊设置(Core 1.0里没有后来版本的IFormFile单独限制)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:40:53