В настоящее время я пишу консольное приложение на С#, которое генерирует несколько URL-адресов, которые указывают на разные изображения на веб-сайте, а затем загружаются в виде потоков байтов с помощью WebClient.DownloadDataAsync()
.
Моя проблема в том, что после первого асинхронного вызова консольное приложение считает, что программа будет завершена и завершается до того, как асинхронный вызов может вернуться. Используя Console.Read()
, я могу заставить консоль оставаться открытой, но это не похоже на очень хороший дизайн. Кроме того, если пользователь нажимает кнопку ввода во время процесса (пока консоль ожидает ввода), программа завершается.
Есть ли лучший способ предотвратить закрытие консоли, пока я жду возвращения асинхронного вызова?
Изменить: вызовы асинхронны, потому что я предоставляю пользователю индикатор состояния через консоль при загрузке.