|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
Имеется клиент FTP FluentFTP с примером скачивания файла синхронно и асинхронно. Пример синхронного скачивания работает без проблем, а при асинхронном скачивании программа зависает на Код: vbnet 1.
Вот сама функция: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Я её вызываю так: Код: vbnet 1.
Программа доходит до Код: vbnet 1.
и наглухо зависает. Куда копать ума не приложу. Может кто поможет выйти из этого тупика? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 15:37 |
|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
В строну DeadLock- классический случай. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 16:03 |
|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
FluentFTP довольно распространенный FTP клиент и имеет более 3 400 000 скачиваний с NuGet, при этом выложил кучу примеров на разных языках, не думаю, чтобы у них было что то не предусмотрено. Похоже это я делаю какие то элементарные ошибки при работе с асинхронными вызовами. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 17:28 |
|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
Для начала, CancellationToken, есл он нужен, совсем не так создается, тут это ни на что не должно влиять, но все-таки. Обычно а каждого метода с ним есть метод-братан без него, т.ч. замени. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 17:34 |
|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
Posohov Я её вызываю так: Код: vbnet 1.
Я уже устал говорить - "Wait()" и "Result" - забудьте об их существовании. Полностью и навеки. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 17:39 |
|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
Posohov не думаю, чтобы у них было что то не предусмотрено. Posohov Я её вызываю так: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 17:55 |
|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
Как я и подозревал, все дело оказалось в GUI и, как показывает прежний опыт, в потоках. Запустил эту же функцию в консоле и там все сразу заработало. Правда радости это не принесло, потому как прогресс загрузки в этой функции отрабатывается не синхронно с загрузкой самого файла и достигает 100% практически сразу, задолго до окончания скачивания файла. Но это уже совсем другая история... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 19:18 |
|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
Posohov Как я и подозревал, все дело оказалось в GUI и, как показывает прежний опыт, в потоках. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 19:27 |
|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
Posohov, По-моему в WinForms уже есть асинхронные обработчики GUI-событий. Дедлок у тебя, скорее всего от того, что ты DownloadFileAsync вызываешь из какого-нибудь button_Click - вот и сделай его async, а вызов DownloadFileAsync сделай с await - это должно решить проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 20:33 |
|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
fkthis По-моему в WinForms уже есть асинхронные обработчики GUI-событий ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 20:53 |
|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
Shocker.Pro что значит "уже"? Ты всегда мог написать async с тех пор, как они появились. Собственно, для async void вместо async Task это, пожалуй, единственное применение. Ну я в формсах не эксперт. Просто краем глаза видел где-то в примерах. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 22:03 |
|
Зависает подключение ConnectAsync у FluentFTP.
|
|||
---|---|---|---|
#18+
Shocker.Pro что значит "уже"? Ты всегда мог написать async с тех пор, как они появились. Собственно, для async void вместо async Task это, пожалуй, единственное применение. Я реально тупанул - async void ведь при компиляции превратится в обычный void ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 11:54 |
|
|
start [/forum/topic.php?fid=20&fpage=8&tid=1398445]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 144ms |
0 / 0 |