2010-10-06 6 views
4

У нас есть страница, которая позволяет пользователям загружать документы (несколько). Когда загрузка занимает много времени - либо из-за размера файлов, либо из-за медленных скоростей загрузки, мы получаем исключение, говорящее «Время ожидания запроса».Получение запроса на время при загрузке больших файлов

Мы обнаружили, что исключение выбрасывается, как только загрузка завершена. Таким образом, мы изменили запись конфигурации executeTimeout на 6000 секунд. Но эта ошибка все же проявляется последовательно.

Мы запускаем IIS6, .net 3.5 sp1 (asp .net 2.0).


Update

Я могу воспроизвести этот вопрос с относительно небольших файлов (несколько файлов с общим количеством 75 МБ)

ответ

0

Может быть, вы должны установить форму, чтобы принять многокомпонентные данные.

2

Я не могу объяснить это лучше, чем Jon Galloway has, так что я не буду пытаться :)

В основном есть много сил, борющихся против вас при попытке загрузки больших файлов через HTTP. Мораль этой истории такова:

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

0

Загрузите, я полагаю, вы имеете в виду страницу .aspx. Вам необходимо установить следующее:

Server.ScriptTimeout = 9000 'Time in seconds 

Обратите внимание, что это значение для всего сервера, так что вы должны хранить старое значение где-то и сбросить его обратно к исходному значению, когда загрузка будет завершена.

http://msdn.microsoft.com/en-us/library/ms524831(VS.90).aspx

0

попробовать это < httpRuntime maxRequestLength = "Максимальный размер вы хотите загрузить в КБ" ExecutionTimeout = "Нет. Секунд для исполнения Time Out" /> в web.config

Смежные вопросы