Що отримує пріоритет, maxRequestLength або maxAllowedContentLength?


127

Під час зміни максимально дозволеного розміру файлу для завантаження я натрапив на ці два налаштування.

У sytem.web у вас є вузол виконання http із maxRequestLength . У system.webServer у вас є requestLimits з maxAllowedContentLength .

Тепер, хто отримує пріоритет над іншими? І чи потрібно нам встановлювати обидва, чи достатньо останнього (для IIS7)?

Відповіді:


196

maxRequestLength вказує максимальний розмір запиту, підтримуваний ASP.NET, тоді як maxAllowedContentLength визначає максимальну довжину вмісту в запиті, підтримуваному IIS. Тож вам потрібно встановити обидва, щоб завантажувати великі файли: менший "має пріоритет".

(Я взяв це з http://forums.iis.net/t/1169846.aspx - кредит, де це належить.)

Ви можете встановити як локальне для певного сайту, так і навіть папку на сайті, відредагувавши відповідний файл web.config. Якщо довжина файлу (ну, запит) менше maxAllowedContentLength, але більше maxRequestLength, користувач отримає вашу стандартну сторінку (ASPX) помилок, якщо у вас є. Якщо це навпаки, він замість нього отримає сторінку помилок IIS. З цієї причини, можливо, ви захочете мати maxAllowedContentLength до дуже великого значення (лише для цього веб-сайту / папки), а потім обмежувати значенням буде maxRequestLength.

Нарешті, пам’ятайте, що maxRequestLength знаходиться в КБ, тоді як maxAllowedContentLength - у БЮТЕ!


На своїй сторінці у мене є три елементи управління завантаженням, де обмеження на завантаження мають обмеження 50 Мб. Тому я завантажую за один кадр всього 150 Мбайт. Моя конфігурація maxAllowedContentLength = "51200000" & ExecutionTimeout = "1200" & maxRequestLength = "51200". яку довжину я повинен змінити тут. Будь ласка, підкажіть.
Нірав Васоя

21

Коротка і солодка відповідь полягає в тому, що менший з двох буде мати перевагу. Порада, хоча - на мою думку, доцільно встановити, щоб maxRequestLength був меншим з двох, оскільки ви можете зафіксувати виняток у події Application_Error вашого Global.asax у разі його перевищення. Якщо ви перевищите maxAllowedContentLength, перший IIS буде працювати з ним замість ASP.NET, що робить його складнішим для роботи в коді.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.