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



我有一个.Net Core 2.2服务,我正试图向它提交一个大的ish请求负载(包括几个base-64编码的文件(。总尺寸不到30mb。控制器立即拒绝,并返回错误413.1-请求实体太大。我已经对此问题做了一些研究,但大多数解决方案都集中在修改完整版本IIS中的uploadReadAheadSize(但这是IIS express,在VS中本地运行(,或修改web.config文件(此.Net Core项目没有(。该项目不会部署在IIS中,所以我认为我找到的解决方案在那时也不适合我。如何在本地进行调试?

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

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

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

您可以从这里了解更多关于Kestrel的配置选项

此外,此更改已作为.NET Core 2.0版本中的一个突破性更改引入。本公告讨论了在MVCMiddleware以及全球范围内执行此操作的方法,如我上面所示。

最新更新