2011-06-13 2 views
111

업로드를 위해 허용되는 최대 파일 크기를 변경하는 동안 나는이 두 설정을 잘못 느꼈습니다. 당신이 maxRequestLength의HTTP 런타임 노드가sytem.web에서우선 순위는 maxRequestLength 또는 maxAllowedContentLength 중 어느 것입니까?

. system.webServer에서 요청의 범위는이고 maxAllowedContentLength입니다.

이제 다른 쪽보다 우선 순위가 높습니까? 그리고 우리는 둘 다 설정해야합니까, 아니면 마지막 것 (IIS7을위한 것)으로 충분합니까?

답변

169

maxRequestLength는 ASP.NET에서 지원하는 최대 요청 크기를 나타내지 만 maxAllowedContentLength는 IIS에서 지원하는 요청의 최대 콘텐츠 길이를 지정합니다. 큰 파일을 업로드하려면 두 파일을 모두 설정해야합니다. 작은 파일은 "우선 순위가 필요합니다".

는 (나는 http://forums.iis.net/t/1169846.aspx에서이 집어 - 신용이 때문에 어디에.)

당신은 모두 해당 web.config 파일을 편집하여 사이트 내 특정 사이트 또는 폴더에 로컬로 설정할 수 있습니다. 파일 (잘, 요청) 길이가 maxAllowedContentLength보다 작지만 maxRequestLength보다 크면 사용자는 표준 (ASPX) 오류 페이지를받습니다. 그 반대의 경우, 대신 IIS 오류 페이지가 표시됩니다. 따라서 maxAllowedContentLength를 매우 큰 값 (이 웹 사이트/폴더의 경우)으로 설정 한 다음 제한 값이 maxRequestLength가되도록 할 수 있습니다.

마지막으로 maxAllowedContentLength가 BYTES 인 반면 maxRequestLength는 KB입니다.

14

짧고 달콤한 답변은 두 가지 중 작은 쪽이 우선한다는 것입니다. 충고의 한마디 - 제 의견으로는 maxRequestLength를 두 값 중 작은 값으로 설정하는 것이 좋습니다. 초과하는 경우 Global.asax의 Application_Error 이벤트에서 예외를 catch 할 수 있습니다. maxAllowedContentLength를 초과하면 먼저 IIS가 ASP.NET 대신이를 처리하므로 코드 처리가 까다로워집니다.