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