2009-08-03 2 views
1

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

Как мы получаем файл с сервера, у нас есть отдельная страница ASPX, которая передается в значение через строку запроса, а затем извлекает поток файла с сервера, а затем добавляю «контент» -disposition "в ответ, а затем прокрутите поток файла и прочитайте 2KB фрагменты в response.outputstream. Затем, как только это будет сделано, я сделаю Response.End.

Смотреть это для быстрого скринкаст по этому вопросу:

http://www.screencast.com/users/PeloCast/folders/Jing/media/8bb4b1dd-ac66-4f84-a1a3-7fc64cd650c0

, кстати, мы в ASP.NET и C# ...

Спасибо !!! Daniel

ответ

0

Я думаю, что ASP.NET допускает одновременное выполнение страницы за сеанс, и я не знаю, каким образом это можно настроить.

Это не очень удачный обходной путь, но это может помочь, если вы перепечатали значение ASP.NET_SESSIONID в файл cookie запроса в Application_BeginRequest (в global.asax). Конечно, вам потребуется аутентификация по-другому. Однако я этого не пробовал.

Другим способом будет запуск отдельного потока для процесса загрузки, но вам нужно будет найти способ, как это можно сделать без рабочего потока, закрывающего его ресурсы.

Могу ли я спросить, есть ли причина, почему вы просто не используете HttpResponse.TransmitFile?

+0

Нет, Скрим, это было в классическом ASP. –

+0

, который был в классическом ASP? – Skrim

+0

TransmitFile принимает параметр имени файла. Файл, который я получаю, находится на серверах облачных файлов Rackspace. Таким образом, мне нужно пройти аутентификацию на своих серверах, получить файл (как поток) и записать этот поток в Response.OutputStream. Я уверен, что TransmitFile не работает так ... Я нашел это, но статья MSDN точно не ответила на вопрос: http://forums.asp.net/t/1112997.aspx – 2009-08-03 17:52:04

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

  • Нет связанных вопросов^_^