|
Чтение файла из интернета, чтоб не мешало работе программы
|
|||
---|---|---|---|
#18+
Процедура такая Т.е. прога при старте дает команду прочесть некий файл по заданному адресу. Далее прога занимается своими делами (т.е. пользователь может нажимать кнопки, нормально работать и т.д.) Как только файл скачан (или не скачан), то 1) если удачно скачан, то анализируется и делаются "действия". 2) в случае ошибки (нет коннекта к интернету, недоступен сервер) - не делать ничего. Здесь тонкий момент: При хорошем коннекте к инету процедура "мгновенная". При плохом коннекте результата (или ошибки) можно ждать долго, например секунд 10-15. Т.е. процедура скачки файла должна "стукануть" в программу, а не завешивать ее. В VB6 я довольно долго искал способ и остановился на этом (Microsoft Internet Transfer Control) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Мне нужен аналог для .Net. Нарыл пока такой вариант: Код: vbnet 1. 2. 3. 4. 5. 6.
Но чувствую что он не отвечает "тонким требованиям" (насчет случая 10-15 секундного ожидания). Подскажете как лучше это реализовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2015, 13:52 |
|
Чтение файла из интернета, чтоб не мешало работе программы
|
|||
---|---|---|---|
#18+
DownloadDataAsync или DownloadFileAsync с соответвующими событиями ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2015, 14:19 |
|
Чтение файла из интернета, чтоб не мешало работе программы
|
|||
---|---|---|---|
#18+
Изопропил, спасибо, все, разобрался. В моем случае Download String Async думаю достаточно. Текст файла английский, проблем с кодировками не вижу, но на всякий случай подсунул Default ANSI Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2015, 14:30 |
|
Чтение файла из интернета, чтоб не мешало работе программы
|
|||
---|---|---|---|
#18+
Кстати, в 8.1 "автономный режим IE" вообще отсутствует как таковой? (сейчас обратил внимание) Обычно перед скачкой файла я его принудительно выключаю программно если включен (умею через API). А на 8.1 я и в IE в Файл такого пункта не вижу, и через свою ф-цию выключить не могу. Ну и сюда вопрос (видимо касается только старых OS): Через .Net кухню "автономный режим" проверить/вырубить можно? Или только WinInet-API? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2015, 14:37 |
|
Чтение файла из интернета, чтоб не мешало работе программы
|
|||
---|---|---|---|
#18+
Дмитрий77, в броузер то причём здесь? WebClient через wininet api работает ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2015, 14:49 |
|
Чтение файла из интернета, чтоб не мешало работе программы
|
|||
---|---|---|---|
#18+
Изопропил, >WebClient через wininet api работает Надо думать. >в броузер то причём здесь? А при том что если в браузере стоит галка "Автономный режим", то wininet api (и надо думать WebClient) файл не скачают. На Win 8.1 пункт "Автономный режим" отсутствует. Через API я включал/выключал автономный режим так (на .Net не переводил): Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Проверял так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
На Win 8.1 SetOffLineMode(True) не работает, т.е. get_Offline всегда возвращает false. Нету т.е. на 8-ке этого "автономного режима". Но тем не менее, если WebClient через wininet api работает , есть аналог приведенным моим 2-м ф-циям? Потому что для XP (на висте и 7-ке пока не глядел) они таки нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2015, 15:16 |
|
Чтение файла из интернета, чтоб не мешало работе программы
|
|||
---|---|---|---|
#18+
Дмитрий77>в броузер то причём здесь? А при том что если в браузере стоит галка "Автономный режим", то wininet api (и надо думать WebClient) файл не скачают. Странно. Проверил на XP. WebClient качает и при "автономном". Ну тогда про "автономный режим" это вообще лишнее. Гы... а вот Microsoft Internet Transfer Control (пример из VB6 в первом посте) при "автономном" не качает. Хотя по идее он обертка над тем же самым. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2015, 15:31 |
|
Чтение файла из интернета, чтоб не мешало работе программы
|
|||
---|---|---|---|
#18+
Дмитрий77Microsoft Internet Transfer Control (пример из VB6 в первом посте) при "автономном" не качает Тоже самое было помню с Microsoft.XMLHTTPRequest. Долго думал, а чего он не хочет работать-то... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2015, 17:04 |
|
|
start [/forum/topic.php?fid=20&msg=38862295&tid=1401983]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 356ms |
total: | 503ms |
0 / 0 |