5

我正在运行ASP.NET Core Web应用程序并希望上传大文件。增加Kestrel中的上传请求长度限制

我知道,运行IIS的情况下,限制可以通过改变web.config

<httpRuntime maxRequestLength="1048576" /> 
... 
<requestLimits maxAllowedContentLength="1073741824" /> 

运行新的ASP.NET核心Kestrel的Web服务器,而你怎么能做到等同?

我得到异常“请求身体太大。”

回答

7

我发现this helpful announcement确认从ASP.NET Core 2.0开始有28.6 MB的机身尺寸限制,但更重要的是展示了如何避开它!

总结:

对于单个控制器或动作,使用[DisableRequestSizeLimit]属性有没有限制,或者​​3210指定自定义限制。

全局更改它的BuildWebHost()方法里面,Program.cs文件中,添加以下.UseKestrel选项:

WebHost.CreateDefaultBuilder(args) 
    .UseStartup<Startup>() 
    .UseKestrel(options => 
    { 
    options.Limits.MaxRequestBodySize = null; 
    } 

为了更加清晰,也可以参考Kestrel options documentation

+0

对不起,回答我自己的问题感觉很奇怪,但我希望其他人会从中受益。 – ToddBFisher

+2

回答你自己的问题[非常好](https://stackoverflow.com/help/self-answer),如果你有一个你认为有用的问题,我们鼓励你随时这样做!所以感谢您的研究! :) – poke