Как установить maxAllowedContentLength на 500 МБ во время работы на IIS7?
Я изменил maxAllowedContentLength на
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="5024000000" />
</requestFiltering>
</security>
В моем web.config, но при работе на IIS7 я получаю эту ошибку:
Недопустимый атрибут 'maxAllowedContentLength'. Недействительное целое число без знака
![http://i.stack.imgur.com/u1ZFe.jpg]()
но когда я запускаю сервер VS, он запускается нормально без каких-либо ошибок.
Как настроить мой сайт, чтобы разрешить загрузку файлов с размером 500 МБ без этой проблемы на IIS7?
Ответы
Ответ 1
Согласно MSDN maxAllowedContentLength
имеет тип uint
, его максимальное значение составляет 4 294 967 295 байтов = 3,99 ГБ
Поэтому он должен работать нормально.
См. также Статья с ограничениями прав доступа. IIS возвращает одну из этих ошибок, когда соответствующий раздел не настроен вообще?
См. также: Максимальная длина запроса превышена
Ответ 2
Предел запросов в .Net можно настроить из двух свойств вместе:
Первая
-
Web.Config/system.web/httpRuntime/maxRequestLength
- Единица измерения: килобайты
- Значение по умолчанию 4096 КБ (4 МБ)
- Макс. значение 2147483647 КБ (2 ТБ)
Второй
-
Web.Config/system.webServer/security/requestFiltering/requestLimits/maxAllowedContentLength
(в байтах)
- Единица измерения: байты
- Значение по умолчанию 30000000 байт (28,6 МБ)
- Макс. значение 4294967295 байт (4 ГБ)
Литература:
http://www.whatsabyte.com/P1/byteconverter.htm
https://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits
Пример:
<location path="upl">
<system.web>
<!--The default size is 4096 kilobytes (4 MB). MaxValue is 2147483647 KB (2 TB)-->
<!-- 100 MB in kilobytes -->
<httpRuntime maxRequestLength="102400" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<!--The default size is 30000000 bytes (28.6 MB). MaxValue is 4294967295 bytes (4 GB)-->
<!-- 100 MB in bytes -->
<requestLimits maxAllowedContentLength="104857600" />
</requestFiltering>
</security>
</system.webServer>
</location>
Ответ 3
другой фактор, который вы можете изменить:
<location path="NAME PATH CONTROLLER">
потому что этот путь позволяет получить доступ для всех контроллеров, которые использовали загрузку.