21 / 19 / 4
Регистрация: 15.01.2015
Сообщений: 202
|
||||||||||||||||
1 | ||||||||||||||||
WebClient зависает при скачивании второго файла14.11.2017, 12:57. Показов 2685. Ответов 9
Метки нет (Все метки)
Приветствую. Не могу понять в чем дело. Есть сайт с которого нужно скачать ставки риска (за последние пол года). Формируются они скриптом в который подставляются начальная и конечная даты. Диапазон дат задать нельзя т.к. файл создается максимум на 10004 строки. Приходиться скачивать за каждую дату отдельно... Соответственно делаю циклом:
Добавлено через 8 минут Разобрался. Оказывается
Добавлено через 9 минут В итоге сделал так (вдруг кому пригодиться)
0
|
14.11.2017, 12:57 | |
Ответы с готовыми решениями:
9
Пустой WebRequest при скачивании файлов в WebClient Исключение во время запроса WebClient при скачивании файла Зависает при попытке передачи второго файла Зависает винда при скачивании |
14.11.2017, 13:23 | 2 | |||||
Относительный путь. При запуске в других условиях может выйти вам боком.
0
|
21 / 19 / 4
Регистрация: 15.01.2015
Сообщений: 202
|
|
15.11.2017, 09:00 [ТС] | 3 |
Вижу только один вариант при котором это может вызвать проблемы. Если прога лежит на диске "С" и запускается с правами пользователя (следовательно прав на запись не будет). На крайняк можно использовать путь к текущему каталогу пользователя.
А вот при использовании прямых путей (и уж тем более использование букв диска ) может действительно создать проблему на пустом месте. Но это как говориться ИМХО. А за пример спасибо.
0
|
15.11.2017, 09:11 | 4 |
Вот поэтому и используете, что истинной проблемы не видите. Вы, как и многие (до возникновения "почему у меня ничего не работает!?!?"), полагаете, что CurrentDirectory это каталог, откуда запущена программа.
А это так лишь в редких частных случаях, когда программа запускается из отладчика VS, либо из командной строки в текущем каталоге, либо в ярлыке прописана установка текущего каталога для запускаемого процесса. Во всех остальных CurrentDirectory указывает куда угодно, только не туда, куда вы предполагали при написании программы. И может меняться в ходе работы программы. Новички постоянно натыкаются на это.
0
|
управление сложностью
|
|
15.11.2017, 13:04 | 5 |
Видимо потому что не понимают, что CurrentDirectory - это текущая директория системы(проводника), т.е. это некий флаг, отображающий последнюю открытую директорию откуда угодно
0
|
15.11.2017, 13:30 | 6 |
Тем не менее, абсолютные пути - правильный выход.
А вы, видимо, путаете сами абсолютные пути (которые можно определить во время выполнения) и хардкодинг путей в тексте программы.
0
|
21 / 19 / 4
Регистрация: 15.01.2015
Сообщений: 202
|
|
15.11.2017, 15:09 [ТС] | 7 |
0
|
15.11.2017, 15:29 | 8 |
Типа этого, получение каталогов в профиле пользователя. Их там несколько разных.
И типа вот этого - Получить путь к папке приложения, самый простой вариант. Получив базовый путь, можно создать путь ко вложенным каталогам и файлам через метод Path.Combine, вместо простой конкатенации строк.
0
|
21 / 19 / 4
Регистрация: 15.01.2015
Сообщений: 202
|
|
15.11.2017, 15:37 [ТС] | 9 |
т.е. в моем варианте вместо ".\\temp" нужно использовать Path.GetTempPath+"\\temp" ?
0
|
15.11.2017, 15:58 | 10 |
Сообщение было отмечено yagami2 как решение
Решение
Почти. Не
+ , а Path.Combine . И ".\\temp" не нужно, потому что путь и так ко временной папке. В ней сразу можно файлы создавать.И раз уж речь о временных файлах, то есть Метод Path.GetTempFileName (), который сразу создаёт файл со случайным именем. В который вы скачиваете, читаете где надо, и удаляете файл. Если вдруг файлы не нужны, можно прямо в переменную в ОЗУ скачивать.
0
|
15.11.2017, 15:58 | |
15.11.2017, 15:58 | |
Помогаю со студенческими работами здесь
10
ОС зависает намертво при скачивании игры Компьютер периодически зависает при скачивании файлов и установке программ Как протестировать внешний жесткий диск? (Зависает при прямом скачивании торрента на него) Периодически зависает компьютер: при копировании файлов, просмотре видео, скачивании чего-либо из DC++, а также в играх и интернете. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |