업로드에 허용되는 최대 파일 크기를 변경하는 동안 나는이 두 설정을 우연히 발견했습니다.
에서 sytem.web 당신은이 HTTP 런타임 에 노드를 maxRequestLength의 . 에서 의 system.webServer 당신은이 requestLimits 와 Length 요청 헤더를 .
이제 어느 쪽이 다른 쪽보다 우선합니까? 그리고 둘 다 설정해야합니까 아니면 마지막 것 (IIS7의 것)으로 충분합니까?
답변
maxRequestLength는 ASP.NET에서 지원하는 최대 요청 크기를 나타내는 반면 maxAllowedContentLength는 IIS에서 지원하는 요청의 최대 콘텐츠 길이를 지정합니다. 따라서 큰 파일을 업로드하려면 둘 다 설정해야합니다. 작은 파일은 “우선 순위”입니다.
( http://forums.iis.net/t/1169846.aspx 에서이 항목을 선택 했습니다.
적절한 web.config 파일을 편집하여 특정 사이트 또는 사이트 내의 폴더로 로컬로 설정할 수 있습니다. 파일 (잘, 요청) 길이가 maxAllowedContentLength보다 작고 maxRequestLength보다 큰 경우 표준 (ASPX) 오류 페이지가있는 경우 사용자에게 표시됩니다. 다른 방법이라면 IIS 오류 페이지가 대신 나타납니다. 따라서 maxAllowedContentLength를이 웹 사이트 / 폴더에 대해서만 매우 큰 값으로 설정 한 다음 제한 값을 maxRequestLength로 설정하려고 할 수 있습니다.
마지막으로 maxRequestLength는 KB이고 maxAllowedContentLength는 BYTES입니다!
답변
짧고 달콤한 대답은 둘 중 작은 것이 우선한다는 것입니다. 그러나 내 의견으로는 maxRequestLength를 Global.asax의 Application_Error 이벤트에서 예외를 잡을 수 있기 때문에 둘 중 더 작게 설정하는 것이 좋습니다. maxAllowedContentLength를 초과하면 먼저 IIS가 ASP.NET 대신이를 처리하므로 코드 처리가 더 까다로워집니다.