WebClient.DownloadFileAsync の実験:
public void DownloadFile(string fileUrl, string localFile)
{
    using (WebClient client = new WebClient())
    {
        downloadingFile = true;
        client.DownloadFileCompleted += client_DownloadFileCompleted;
        client.DownloadFileAsync(new Uri(fileUrl), localFile);
        while (downloadingFile) { };
    }
}
private void client_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
    downloadingFile = false;
}
問題は、 DownloadFileCompleted イベントが発生しないことです。そのため、downloadingFile = false => while ループが決して終了しないように設定することはありません。
何がうまくいかないのかについてのアイデアはありますか?
ありがとう!