在更改上傳的最大允許文件大小時,我偶然發現了這兩個設置。哪個獲得優先級,maxRequestLength或maxAllowedContentLength?
在sytem.web你有的maxRequestLength的HTTP運行時節點。 在system.webServer你有requestLimits與maxAllowedContentLength。
現在哪個優先於其他?我們是否需要設置或者是最後一個(IIS7的)足夠?
在更改上傳的最大允許文件大小時,我偶然發現了這兩個設置。哪個獲得優先級,maxRequestLength或maxAllowedContentLength?
在sytem.web你有的maxRequestLength的HTTP運行時節點。 在system.webServer你有requestLimits與maxAllowedContentLength。
現在哪個優先於其他?我們是否需要設置或者是最後一個(IIS7的)足夠?
maxRequestLength指示ASP.NET支持的最大請求大小,而maxAllowedContentLength指定IIS支持的請求中的最大內容長度。因此,您需要設置兩者才能上傳大文件:較小的文件「優先」。
(我就撿起從http://forums.iis.net/t/1169846.aspx - 信貸,這是由於)
您可以同時設置通過編輯相應的web.config文件是本地一個網站內的特定網站,甚至一個文件夾。如果文件(well,request)長度小於maxAllowedContentLength但大於maxRequestLength,則用戶將得到標準(ASPX)錯誤頁面(如果有)。如果相反,他會得到一個IIS錯誤頁面。出於這個原因,您可能希望將maxAllowedContentLength設置爲非常大的值(僅適用於此網站/文件夾),然後將限制值設置爲maxRequestLength。
最後,請記住maxRequestLength是KB,而maxAllowedContentLength是BYTES!
簡短而甜蜜的回答是,兩者中的較小者優先。儘管如此,我認爲最好將maxRequestLength設置爲兩者中較小的一個,因爲如果超出Global.asax的Application_Error事件,您可以捕獲異常。如果超過maxAllowedContentLength,則首先IIS將處理它而不是ASP.NET,這使得在代碼中處理變得更加棘手。