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