哪个获得优先权,maxRequestLength或maxAllowedContentLength?

Flo*_*ndt 124 asp.net file-upload web-config maxrequestlength

在更改上传允许的最大文件大小时,我偶然发现了这两个设置.

sytem.web中,您拥有带有maxRequestLengthhttp运行时节点.在system.webServer中,您拥有带有maxAllowedContentLengthrequestLimits.

现在哪个优先于另一个?我们需要设置两个或者是最后一个(IIS7的那个)足够吗?

Ed *_*ham 191

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!


joe*_*dev 20

简短而甜蜜的答案是,两者中较小的一个将优先考虑.尽管如此 - 在我看来,建议将maxRequestLength设置为两者中的较小者,因为如果超过Global.asax的Application_Error事件,您可以捕获异常.如果超过maxAllowedContentLength,则首先IIS将处理它而不是ASP.NET,这使得处理代码变得更加棘手.