IIS Express 和 Visual Studio 2019 - 413.1 - 请求实体太大
IIS Express and Visual Studio 2019 - 413.1 - Request Entity Too Large
我有一个 .Net Core 2.2 服务,我正在尝试向其提交一个大型请求负载(包括几个 base-64 编码文件)。总大小不到 30mb。控制器立即拒绝并显示错误 413.1 - 请求实体太大。
我对这个问题做了一些研究,但大多数解决方案都集中在修改 uploadReadAheadSize
在完整版本的 IIS 中(但这是 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 公告讨论了在 MVC
、Middleware
中以及在全球范围内执行此操作的方法,就像我在上面展示的那样。
我有一个 .Net Core 2.2 服务,我正在尝试向其提交一个大型请求负载(包括几个 base-64 编码文件)。总大小不到 30mb。控制器立即拒绝并显示错误 413.1 - 请求实体太大。
我对这个问题做了一些研究,但大多数解决方案都集中在修改 uploadReadAheadSize
在完整版本的 IIS 中(但这是 IIS express,运行 在 VS 中本地),或修改 web.config 文件(这个 .Net Core 项目没有)。
该项目不会部署在 IIS 中,所以我认为我找到的解决方案在那个时候也不适合我。我怎样才能使它在本地工作以进行调试?
对于 .NET Core
>2.0
如果您不打算将 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 公告讨论了在 MVC
、Middleware
中以及在全球范围内执行此操作的方法,就像我在上面展示的那样。