Какова разница DownloadFileAsync и DownloadFileTaskAsync?DownloadFileAsync против DownloadFileTaskAsync
Когда я должен использовать один вместо другого? Любой пример будет оценен по достоинству.
ответ
Общая картина - если вы найдете два метода с именами, заканчивающимися xxxAsync
и xxxTaskAsync
, то вы должны как правило, предпочитают версию Task
.
Эти две версии будут существовать, потому что версия xxxAsync
была создана до появления Task-based Async Pattern (TAP) и будет основана на более раннем асинхронном шаблоне.
При внедрении методов TAP, обычная рекомендация является суффикс имени с Async
- но это не может быть сделано, когда есть уже другой метод, который имеет то же имя - да, то эта рекомендация является суффикс с TaskAsync
.
В данном конкретном случае DownloadFileAsync
представляет собой реализацию "Event-based Async Pattern", которая, как правило, более неудобна для работы. Эта модель, сам по себе, вытеснила оригинальный шаблон асинхронного в рамках .NET Framework, который был основан на сопоставление Begin
и End
префиксов методы и IAsyncResult
, тем Async Programming Model
В общем, конечно, вы можете ввести несколько методов с тем же именем, если они имеют разные подписи. Но когда дело доходит до асинхронных шаблонов, метод async EAP и метод async TAP, как правило, принимают те же аргументы - они будут отличаться только по типу возврата. Даже если бы они менялись в своих аргументах, ставить оба шаблона под одним и тем же именем, вероятно, вызывало бы большую путаницу.
- 1. DownloadFileTaskAsync C#
- 2. C# PathTooLongException, когда DownloadFileTaskAsync
- 3. DownloadFileAsync Ошибка
- 4. Threaded DownloadFileAsync
- 5. Позвонить DownloadFileAsync несколько раз
- 6. DownloadFile vs DownloadFileAsync
- 7. WebClient DownloadFileAsync() блокирует поток
- 8. Файл WebClient DownloadFileAsync Существует
- 9. DownloadFileAsync бросает необработанные исключения?
- 10. WebClient DownloadFileAsync() не работает
- 11. Bluescreen 0x0000003B во время DownloadFileAsync?
- 12. DownloadFileTaskAsync загрузка только 2 файлов одновременно
- 13. C# DownloadFileTaskAsync не скачивая вложенный почтовый файл
- 14. Использование DownloadFileTaskAsync для загрузки всех файлов сразу
- 15. C# DownloadFileAsync, не работает с абсолютным путем
- 16. wait for DownloadFileAsync в Visual Basic
- 17. Как заблокировать главную тему при использовании DownloadFileAsync
- 18. DownloadFile работает, DownloadFileAsync получает 0 байт файла
- 19. C# downloadfileasync wait without freezing ui
- 20. DownloadFileAsync - не сохранять файл в папках
- 21. PowerShell: проблема пространства выполнения с DownloadFileAsync
- 22. C# строки из файла чтения с StreamReader с DownloadFileAsync
- 23. не может скачать многопользовательские файлы с помощью DownloadFileAsync
- 24. DownloadFileAsync в цикле с CompletedEvent получает только последний файл
- 25. VB.NET DownloadFileAsync запускает событие завершения, но не загружается
- 26. WebClient - DownloadFileAsync не работает, когда вызывается второй раз
- 27. Приложение DownloadFileAsync не отвечает, если файл превышает 500 МБ?
- 28. Как получить заполненный загруженный размер при использовании .net WeClient DownloadFileAsync
- 29. Загрузите несколько файлов, один за другим, используя DownloadFileAsync в C#
- 30. Abort DownloadFileAsync, если загрузка не выполняется в течение 30 секунд
.. и для 'DownloadFileAsync' вам нужно добавить обработчик событий в событие' DownloadFileCompleted', чтобы узнать, когда он будет завершен, а не просто ждать задания, возвращенного 'DownloadFileTaskAsync' – stuartd