|
|
|
 |
 |
Сообщение |
 |
|
 |
 |
Принципиальный молчун
Зарегистрирован: 22 February 2008
Сообщения: 5
Примеры кода: 0
|
многопоточность, архивирование |
22 February 2008 17:22 |
|
|
|
|
задача - сделать 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, включается таймер, а по завершении потока - должно быть выведено соотвествующее сообщение
- будет ли работать такая конструкция? и как ее реализовать?
заранее спасибо!
Данное сообщение получено с сайта GotDotNet.RU
|
|
| Наверх |
|
|
|
 |
 |
 |
 |
|
|