Максимальная длина запроса превысила исключение - PullRequest
19 голосов
/ 04 ноября 2010

Я пытаюсь загрузить файл размером 20 мегабайт с помощью элемента управления загрузкой, и он отлично работает на встроенном веб-сервере Visual Studio, но как только я публикую его на рабочем сервере (к которому у меня нет доступа), я получаю следующую ошибку :

Server Error in '/' Application.
--------------------------------------------------------------------------------

Maximum request length exceeded. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Web.HttpException: Maximum request length exceeded.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[HttpException (0x80004005): Maximum request length exceeded.]
   System.Web.HttpRequest.GetEntireRawContent() +11140903
   System.Web.HttpRequest.GetMultipartContent() +72
   System.Web.HttpRequest.FillInFormCollection() +245
   System.Web.HttpRequest.get_Form() +119
   System.Web.HttpRequest.get_HasForm() +11072199
   System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +124
   System.Web.UI.Page.DeterminePostBackMode() +83
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +270



--------------------------------------------------------------------------------

Я добавил следующее к своему узлу system.web, так что я не знаю, какова реальная проблема.

<httpRuntime executionTimeout="800" maxRequestLength="51200" />

Любое направление по этому вопросу было бы очень полезно.

Ответы [ 2 ]

1 голос
/ 08 мая 2018

Несмотря на то, что у вас есть файл размером 20 МБ, возможно, что кодирование или другое содержимое на странице приведет к превышению установленного лимита в 50 МБ. Я рекомендую удвоить ваши текущие настройки.

Существует также другая настройка web.config, которая может вступить в игру: фильтрация запросов безопасности maxAllowedContentLength .

Это значение по умолчанию 30 МБ, но в вашей среде оно может быть установлено по-другому.

Запись web.config будет выглядеть примерно так:

<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="1550000000" maxQueryString="16384" />
    <fileExtensions>
      <add fileExtension="." allowed="true" />
    </fileExtensions>
  </requestFiltering>
</security>
0 голосов
/ 11 июля 2018

Если изменение файла конфигурации не работает, попробуйте обновить свойство httpRuntime executionTimeout="9200" maxRequestLength="200000"> непосредственно из IIS.

Для справки: maxRequestLength

...