IIS7 - Сбой веб-запроса с 404.13, когда размер параметров запроса превышает 30 МБ - PullRequest
20 голосов
/ 16 февраля 2012

У меня есть простой веб-метод

[WebMethod]
public int myWebMethod(string fileName, Byte[] fileContent)

Однако, когда я передаю байтовый массив размером более 30 МБ, я получаю сообщение об ошибке:

Ошибка HTTP 404.13 - НетНайдено Модуль фильтрации запросов настроен на отклонение запроса, который превышает длину содержимого запроса.

Мой web.config выглядит следующим образом:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0"> </compilation>
    <authentication mode="Windows" />
    <httpRuntime useFullyQualifiedRedirectUrl="true"
                 maxRequestLength="102400" requestLengthDiskThreshold="102400"
    />
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="104857600"/>
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

Я искал вокруг,и наиболее частой причиной этой проблемы является свойство maxAllowedContentLength, которое по умолчанию составляет 30 МБ.Однако я установил это значение равным 100 МБ, а также свойство maxRequestLength для httpRuntime.

Я не могу найти решение нигде, в котором не установлено ни одно из свойств, которые я ужепопробовал выше.Я что-то пропустил?

Ответы [ 2 ]

9 голосов
/ 13 мая 2013

Ваша проблема может заключаться в том, что настройки, сделанные в файле web.config , могут быть заменены соответствующими настройками, присутствующими как на компьютере applicationhost.config , так и . config files.

Если у вас есть доступ к ним, проверьте, установлено ли для свойства overrideModeDefault соответствующих разделов значение Разрешить , как в следующем примере:

machine.config

<requestFiltering overrideModeDefault="Allow">
    <requestLimits maxAllowedContentLength="104857600"/>        
</requestFiltering>

AFAIK невозможно переопределить эти настройки, если у вас нет доступа к соответствующему файлу конфигурации.

Вы можете найти больше информации о конфигурации системы и переопределении настроек здесь , здесь и здесь - и очень похожий случай здесь .

0 голосов
/ 01 октября 2014

Это довольно старый.Но у меня сегодня такая же проблема.Чтобы это исправить, вам нужно внести необходимые изменения в настройки файла web.config, а затем развернуть его на веб-сервере.Важной частью является то, что вам нужно повторно развернуть приложение на веб-сервере.При этом настройки IIS обновляются для вас.В зависимости от способа развертывания может потребоваться сначала удалить веб-приложение с веб-сервера, а затем снова развернуть.Обновление web.config на месте не решит проблему.Надеюсь, что это помогает другим с той же проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...