Увеличение ограничения размера загрузки файлов в iis6
есть ли какое-либо другое место, кроме метабазы.xml-файл, в котором размер загрузки файла может быть изменен?
в настоящее время я запускаю промежуточный сервер с IIS6, и он настроен на загрузку файлов до 20 Мб. Это прекрасно работает. У меня есть новый производственный сервер, где я пытаюсь настроить этот же доступный предел размера. Поэтому я отредактировал метабазу.xml-файл и установите его в 20971520. Затем я перезапустил IIS, и это не сработало. Поэтому я перезапустил весь сервер, это тоже не сработало. Я могу загружать файлы вокруг 2mb, поэтому он определенно позволяет размеры файлов больше, чем стандартный размер 200kb по умолчанию. Я пытаюсь загрузить файл 5mb и мою загрузку.aspx страница полностью зависает. Возможно есть что-то еще надо настроить? Производственный сервер находится на ферме серверов, могут ли быть какие-то ограничения, установленные там?
спасибо
4 ответов
Если вы используете ASP .NET, вам нужно изменить maxRequestLength web.свойство конфигурации.
посмотреть этой ссылке.
я расширю свой ответ на ваш вопрос, чтобы учесть другие возможные ситуации.
очень хорошая ссылка, чтобы узнать о загрузке файлов большого размера, это: http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx
здесь Джон Галлоуэй объясняет лучшие методы для решения проблемы:
1.- Изменение конфигурации машины или web.config:
<system.web>
<httpRuntime executionTimeout="240" maxRequestLength="20480" />
</system.web>
здесь вы меняете не только maxRequestLength, но вы должны дать больше секунд для executionTimeout.
интересная вещь: примите во внимание, что значение этого параметра игнорируется в режиме отладки. Значение по умолчанию в .NET Framework 2.0 составляет 110 секунд. В .NET Framework 1.0 и 1.1 значение по умолчанию равно 90 секундам.
2.- Говоря о реальном решении, HttpModules нравится бесплатно NeatUpload
3.- Объяснение другого способа загрузки более интуитивно: В Silverlight или flash swfupload
4.-Он говорит об одном ограничении II7. На этой странице http://www.telerik.com/help/aspnet-ajax/upload_uploadinglargefiles.html вы можете найти более интересные настройки для IIS 7, чтобы установить максимум 100 Мегас. Вы добавляете:
<system.webServer>
...
<security >
<requestFiltering>
<requestLimits maxAllowedContentLength="1024000000" />
</requestFiltering>
</security>
</system.webServer>
и вы должны открыть файл C:\Windows\System32\inetsrv\config\applicationHost - ... настройте и найдите строку:
<section name="requestFiltering" overrideModeDefault="Deny" />
изменение кому:
<section name="requestFiltering" overrideModeDefault="Allow" />
еще одна интересная вещь, которую упоминает Галлоуэй: "в ASP.NET 1.0 и 1.1, весь файл был загружен в память перед записью на диск. Были улучшения в ASP.NET 2.0 для потоковой передачи файла на диск во время процесса загрузки."
для IIS6 решение, которое дает Крис, я думаю, подходит:
http://www.banmanpro.com/support2/File_Upload_limits.asp
другой источник:
другой URL, где один пользователь протестировал много компонентов здесь:
http://remy.supertext.ch/2008/01/file-upload-with-aspnet/
Он ссылается на проект codeproject (!) это еще один очень хороший пример использования больших файлов и flash здесь:
Я боролся с этой проблемой в течение нескольких часов и, наконец, решил свою конкретную проблему, и я хочу поделиться ею здесь.
Если вы используете urlscan, существует ограничение размера файла в его конфигурации, а также. Чтобы внести в него изменения, необходимо отредактировать файл " UrlScan.ini " находится (обычно) по адресу:
C:\WINDOWS\system32\inetsrv\urlscan
изменить значение на "MaxAllowedContentLength" на желаемую максимум файл размер.
Если вы загружаете документ из rad-control, вы можете просто использовать эту строку кода.
RadFileExplorer1.Configuration.MaxUploadFileSize = 2000 * 1024;
это сработало для меня.