File upload 增加Kestrel中的上传请求长度限制

File upload 增加Kestrel中的上传请求长度限制,file-upload,asp.net-core,asp.net-core-2.0,kestrel-http-server,File Upload,Asp.net Core,Asp.net Core 2.0,Kestrel Http Server,我正在运行ASP.NET核心web应用程序,希望上载大文件 我知道在运行IIS时,可以通过web.config更改限制: ... 在运行新的ASP.NET Core Kestrel web服务器时,您如何做到这一点? 我发现异常“请求正文太大。”我发现确认从ASP.NET Core 2.0开始存在28.6 MB正文大小限制,但更重要的是显示了如何绕过它 总结如下: 对于单个控制器或操作,请使用属性“无限制”,或使用指定自定义限制 要全局更改它,请在BuildWebHost()方法内,在Pro

我正在运行ASP.NET核心web应用程序,希望上载大文件

我知道在运行IIS时,可以通过
web.config
更改限制:


...
在运行新的ASP.NET Core Kestrel web服务器时,您如何做到这一点?

我发现异常“请求正文太大。”

我发现确认从ASP.NET Core 2.0开始存在28.6 MB正文大小限制,但更重要的是显示了如何绕过它

总结如下:

对于单个控制器或操作,请使用属性“无限制”,或使用指定自定义限制

要全局更改它,请在
BuildWebHost()
方法内,在
Program.cs
文件内,添加下面的
.UseKestrel
选项:

WebHost.CreateDefaultBuilder(args)
.UseStartup()
.UseKestrel(选项=>
{
options.Limits.MaxRequestBodySize=null;
}
为了更清楚,您还可以参考。

is For ASP.NET Core 2.0,但我想提供针对.NET Core 3.x web API的解决方案

您在
program.cs
中的代码必须是这样才能工作的:

公共类程序
{
公共静态void Main(字符串[]args)
{
CreateHostBuilder(args.Build().Run();
}
公共静态IHostBuilder CreateHostBuilder(字符串[]args)=>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder=>
{
webBuilder.UseStartup();
webBuilder.UseKestrel(选项=>
{
options.Limits.MaxRequestBodySize=null;
});
});
}

对不起,回答我自己的问题感觉很奇怪,但我希望其他人也能从中受益。如果你有一个你认为有用的问题,请随时回答你自己的问题!谢谢你的研究!:)嘿!您能告诉我Kestrel上的最大请求头大小是多少吗?除了可配置的
KestrelServerLimits.MaxRequestHeadersTotalSize
属性中相应数据类型的最大值(
Int32.MaxValue
)之外,我不知道有任何绝对限制。你可以试着问一个新问题。