У меня есть веб-сервис, на котором конечные пользователи будут загружать ZIP-архивы, которые могут быть очень большими (один тестовый файл превышает 200 МБ). Я хотел бы обрабатывать файлы большого размера с упреждением и корректно завершать загрузку при ограниченном размере.
Поскольку веб-приложение будет развернуто на компьютерах клиентов, я не могу легко гарантировать, что конфигурация соответствует любому фиксированному размеру. Я задокументировал, как использовать команду appcmd , чтобы установить значение requestLimits.maxAllowedContentLength сверх значения по умолчанию 30 МБ.
Но я бы хотел справиться с этим в веб-приложении; Я надеюсь на две вещи:
Чтобы показать текущий лимит на странице, где они инициируют загрузку файла, что-то вроде:
Загрузка каждого файла ограничена 15MB . Если ваш архив больше, (и т. Д. И т. Д.)
Чтобы дать значимую ошибку при превышении этого размера. В настоящее время отправка данных занимает много времени, а затем я вижу вводящую в заблуждение страницу 404.
Есть мысли?
[Изменить]
http://www.developer.com/db/article.php/10920_3426051_2/Limiting-Upload-Sizes-with-ASPNET.htm
Я нашел вышеупомянутую статью - но, хотя я могу перехватить ошибку, я продолжаю получать сброс соединения в браузере на Request.Redirect () или Context.RewritePath () так что это на самом деле не лучше, чем 404. Хммм, на самом деле это с отладочным сервером VS2008, а не с IIS.