В закомментированной строке кода, в которую вы записываете вывод на консоль, вы явно используете .Result
, потому что вы вызываете метод async
в синхронном режиме.Вы также должны либо сделать это при загрузке файла, либо сделать весь метод вокруг него async
.
Первое решение будет выглядеть примерно так:
sourceFile.DownloadToFileAsync(Path.Combine(localDirectory, localFileName), FileMode.Create).Result();
РЕДАКТИРОВАТЬ:
Что касается разницы с комментарием, который использует GetAwaiter().GetResult()
, идет: .Result
переносит все исключения, которые могут возникнуть в AggregateException
, а GetAwaiter().GetResult()
не будуВ любом случае: если есть возможность, вы можете изменить метод на async
, чтобы использовать await
: пожалуйста, сделайте это.