|
|
|
 |
 |
Сообщение |
 |
|
 |
 |
Молчун
Зарегистрирован: 23 February 2008
Сообщения: 17
Примеры кода: 0
|
Re: многопоточность, архивирование |
23 February 2008 01:22 |
|
|
|
|
LE0задача - сделать web-приложение, которое скачивает файл с указанного URL, если файл более 8мб, то добавляет его в многотомный архив без сжатия, и отправляет на другой сервер. при этом, процесс скачивания\архивирования должен быть асинхронным, а юзер должен видеть прогресс, скажем число отправленных байт...
написать то же самое для файла в виде windows application, которое для архивации использует winrar - большого труда не составило... а вот под web появились вопросы, которые я не знаю как решить, и поиском ничего дельного тоже не нашел.
1. запустить winrar на серверной стороне не получится, видимо... из того, что предлагали видел платные компоненты...
можно ли создать многотомный архив (зип например) средствами System.IO.Compression - есть ли примеры?
2. запусить фоновый поток - проблем нет, Thread.Start, отловить его завершение тоже можно, например через Event ... но вот в Windows Forms из других потоков нельзя обращаться к контролам на форме - приходится использовать для обработки события завершения потока Invoke - но ни у каких объектов на web-страничке я такого метода не нашел!
3. скажем на страничке есть кнопка отправить и UpdatePanel, в которой label и timer - тогда происходит timer_tick label.text = число считанных байт
При нажатии "отправить" запускается новый поток, который скачивает\закачивает, отображается label, включается таймер, а по завершении потока - должно быть выведено соотвествующее сообщение
- будет ли работать такая конструкция? и как ее реализовать?
заранее спасибо!
1 да
2 зачем?
3 бред и нереал. ИМХО
Чтобы прогрессбар аплоада сделать потеть нада, а твоя идея совсем уж нереал.
И вопрос возникает зачем тебе веб если есть винапп ???
PS: извини если что не так.
|
|
| Наверх |
|
|
|
 |
 |
 |
 |
|
|