Ограничение размера файла AsyncFileUpload - PullRequest
5 голосов
/ 30 августа 2010

Когда я использовал AsyncFileUpload для загрузки изображения размером 100 КБ, я не получил сообщение об ошибке. Но изображение не загружено.Я могу загрузить изображение размером 75 КБ.Я использую IIS 6.0.

    <cc1:AsyncFileUpload ID="afuImg" Width="400px" runat="server" 
UploaderStyle="Traditional" ThrobberID="Throbber2"  
    OnClientUploadError="uploadErrorImg" 
    OnClientUploadStarted="StartUploadImg" 
    OnClientUploadComplete="UploadCompleteImg" />

<httpRuntime maxRequestLength = "1024000" 
executionTimeout="54000" 
enableHeaderChecking ="false" />

Ответы [ 2 ]

5 голосов
/ 14 декабря 2011

Вы можете загружать файлы с общим размером до 2 ГБ, но это требует некоторых изменений в файлах конфигурации вашего приложения.

  • установить maxRequestLength в httpRuntime на 1024000000 ( 2 ГБ макс. , вы сделали это)
  • Указывает максимальное количество секунд, в течение которых запрос может быть выполнен перед автоматическим отключением ASP.NET.Значение этого параметра игнорируется в режиме отладки.Значение по умолчанию в .NET Framework 2.0 составляет 110 секунд.Чтобы включить загрузку больших файлов, которая может занять много времени, увеличьте это свойство.См. Следующую статью MSDN: http://msdn2.microsoft.com/en-us/library/e1f13641.aspx.
  • Откройте файл C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config и найдите строку:

    <section name="requestFiltering" overrideModeDefault="Deny" />
    
  • Установите для свойства overrideModeDefault значение Разрешить .
  • Следующие атрибуты могут быть назначены в элементе файла machine.config .Они должны быть установлены на уровне компьютера, а не на уровне приложения в web.config.
  • responseDeadlockInterval - Указывает временной интервал в формате ЧЧ: ММ: СС, после которого процессперезапускается, если в течение этого интервала не было ответа.По умолчанию это 3 минуты.Чтобы разрешить очень большие загрузки, вам может потребоваться увеличить это значение.
  • responseRestartDeadlockInterval - Указывает время в формате ЧЧ: ММ: СС, которое должно пройти после последнего перезапуска, чтобы вылечитьтупик перед повторным запуском процесса, чтобы снова вылечить тупик.Чтобы разрешить очень большие загрузки, вам, возможно, придется увеличить это значение.
  • AspMaxRequestEntityAllowed - Иногда, когда приложение размещается на Windows Server 2003, вышеуказанные параметры, похоже, не действуют.В этом случае необходимо изменить файл метаданных IIS, в частности свойство AspMaxRequestEntityAllowed.Для получения дополнительной информации см .: http://www.telerik.com/support/kb/article/b454K-gth-b454T-cee.aspx

Наконец, хотя я не вижу его очень часто

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

Также есть еще один вопрос о стековом потоке, который входит в этот Как настроить IIS для обработки действительно больших загрузок файлов?

В ответе на предыдущий вопрос ответhttps://stackoverflow.com/a/206796/728841 указывает, что Urlscan является проблемой, у которой есть собственный предел длины объекта запроса.Человек не знал, что Urlscan работает на сервере, потому что это глобальный фильтр ISAPI, а не на отдельном веб-сайте.

Примечание. Чтобы найти глобальные фильтры ISAPI, щелкните правой кнопкой мыши папку «Веб-сайты» в IIS.Админ и нажмите Свойства, затем на вкладке Фильтры ISAPI.

0 голосов
/ 14 сентября 2011

При попытке загрузить файлы размером более 200 КБ в IIS 6 файл может никогда не загружаться, и вы либо получаете сообщение об ошибке, либо отправляетесь на пустой экран.По умолчанию сервер Windows ограничивает загрузку файлов размером около 200 КБ.Чтобы преодолеть это ограничение, необходимо изменить файл IIS metabase.xml.

1.Перед тем, как вы сможете редактировать файл metabase.xml, вы должны указать IIS, чтобы разрешить редактирование файла.В IIS щелкните правой кнопкой мыши имя сервера и выберите свойства.Установите флажок «Включить прямое редактирование метабазы».

2.Найдите файл метабазы.xml, расположенный в C: \ windows \ sytem32 \ inetserv, и откройте файл в блокноте.

3.Поиск AspMaxRequestEntityAllowedи увеличить значение.Значением по умолчанию является 204800 (200 КБ).Установка значения 1000000 позволит загружать файлы размером 1 МБ.

4.Вы можете теперь снять флажок со свойства IIS, называемого «Включить прямое редактирование метабазы».

Чтобы увеличить ограничение размера загрузки файлаповторите все вышеописанные шаги, но на шаге 3 найдите параметр с именем AspBufferingLimit.Предел загрузки по умолчанию составляет 4 МБ.

...