IIS Express和Visual Studio 2019-413.1-请求实体太大

问题描述

我有一个.Net Core 2.2服务,我正在尝试向该服务提交大量请求有效负载(包括几个base-64编码的文件)。总大小不到30mb。控制器立即拒绝,并显示错误413.1-请求实体太大。 我已经对该问题进行了一些研究,但是大多数解决方案都专注于在完整版本的IIS中修改uploadReadAheadSize(但这是IIS Express,在VS中本地运行),或修改web.config文件(此.Net Core项目没有一个。 该项目将不会部署在IIS中,所以我认为我发现的解决方案在那时都不会对我有用。如何才能在本地将其用于调试目的?

解决方法

.NET Core> 2.0的默认请求正文大小限制为28.6 MB

如果您不打算使用IIS进行部署,并且想使其用于调试目的,则可以使用Kestrel并在Program.cs内部重置最大请求正文大小限制,如下所示

 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .UseKestrel(options => { options.Limits.MaxRequestBodySize = null; });

您可以从here

进一步了解Kestrel的配置选项。

此外,此更改是.NET Core 2.0版中的一项重大更改。 This公告讨论了如何在MVCMiddleware以及如上所述的全球范围内执行此操作。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...