增加Kestrel中的上传请求长度限制
问题描述:
我正在运行ASP.NET Core Web应用程序并希望上传大文件。增加Kestrel中的上传请求长度限制
我知道,运行IIS的情况下,限制可以通过改变web.config
:
<httpRuntime maxRequestLength="1048576" />
...
<requestLimits maxAllowedContentLength="1073741824" />
运行新的ASP.NET核心Kestrel的Web服务器,而你怎么能做到等同?
我得到异常“请求身体太大。”
答
我发现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。
对不起,回答我自己的问题感觉很奇怪,但我希望其他人会从中受益。 – ToddBFisher
回答你自己的问题[非常好](https://*.com/help/self-answer),如果你有一个你认为有用的问题,我们鼓励你随时这样做!所以感谢您的研究! :) – poke