Максимальная длина запроса превысила исключение
Я пытаюсь загрузить 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" />
Любое направление на это было бы очень полезно.
Ответы
Ответ 1
Несмотря на то, что у вас есть файл размером 20 МБ, возможно, что кодирование или другое содержимое на странице приведет к превышению установленного лимита в 50 МБ. Я рекомендую удвоить ваши текущие настройки.
Существует также другой параметр web.config, который может вступить в игру: фильтрация запросов безопасности maxAllowedContentLength.
Это значение по умолчанию 30 МБ, но в вашей среде оно может быть установлено по-другому.
Запись web.config будет выглядеть примерно так:
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1550000000" maxQueryString="16384" />
<fileExtensions>
<add fileExtension="." allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
Ответ 2
Если изменение файла конфигурации не работает, попробуйте обновить свойство httpRuntime executionTimeout="9200" maxRequestLength="200000">
непосредственно из IIS.
Для справки: ![maxRequestLength]()