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

如何在.NET Core 3.1 API中通过appsettings.json增大HTTP响应内容长度

.NET Core 3.1 API响应长度上限调整方案

结论

可以调整.NET Core 3.1 API的HTTP响应长度上限,默认的长度限制是框架为了防范恶意大数据攻击设置的安全策略,合法的大体积数据返回场景可以按需调整限制值。

配置步骤

  • 第一步:在appsettings.json中添加Kestrel服务器的限制配置,示例如下:
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "Kestrel": {
    "Limits": {
      // 响应缓冲区最大大小,单位为字节,示例值为100MB,无需限制可设为null
      "MaxResponseBufferSize": 104857600
    }
  }
}
  • 第二步:在Program.cs的主机构建逻辑中绑定上面的配置,让配置生效:
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;

namespace YourApiNamespace
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                    // 绑定appsettings中的Kestrel响应长度配置
                    webBuilder.UseKestrel((hostContext, kestrelOptions) =>
                    {
                        kestrelOptions.Limits.MaxResponseBufferSize = hostContext.Configuration
                            .GetValue<long?>("Kestrel:Limits:MaxResponseBufferSize");
                    });
                });
    }
}

特殊场景补充

如果你的API部署在IIS/IIS Express上,还需要调整IIS自身的响应限制,在项目根目录的web.config中添加如下配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <security>
      <requestFiltering>
        <!-- maxAllowedContentLength单位为字节,示例值为100MB -->
        <requestLimits maxAllowedContentLength="104857600" />
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

注意:不建议将限制值设为无上限,避免恶意大流量请求耗尽服务器资源,建议结合业务实际的最大响应体积设置合理阈值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:57:03