maxRequestLength указывает максимальный размер запроса, поддерживаемый ASP.NET, тогда как maxAllowedContentLength указывает максимальную длину содержимого в запросе, поддерживаемом IIS. Таким образом, чтобы загружать большие файлы, вам необходимо установить оба параметра: меньший «имеет приоритет».
(Я взял это с http://forums.iis.net/t/1169846.aspx - кредит там, где он должен.)
Вы можете сделать их локальными для определенного сайта или даже для папки на сайте, отредактировав соответствующий файл web.config. Если длина файла (ну, запроса) меньше maxAllowedContentLength, но больше maxRequestLength, пользователь получит вашу стандартную страницу ошибок (ASPX), если она у вас есть. Если наоборот, вместо этого он получит страницу с ошибкой IIS. По этой причине вам может потребоваться очень большое значение maxAllowedContentLength (только для этого веб-сайта / папки), а затем ограничивающее значение maxRequestLength.
Наконец, помните, что maxRequestLength находится в КБ, тогда как maxAllowedContentLength находится в BYTES!
Короткий и приятный ответ заключается в том, что меньший из двух будет иметь приоритет. Небольшой совет: на мой взгляд, желательно установить maxRequestLength меньшим из двух, так как вы можете поймать исключение в событии Application_Error вашего Global.asax, если оно будет превышено. Если вы превысите maxAllowedContentLength, сначала IIS будет обрабатывать его вместо ASP.NET, что усложняет работу с кодом.
источник