title: DownloadFile works, DownloadFileAsync gets 0 bytes file
body: <p>I'm trying to download git from this url</p>
  
  <pre><code>https://github.com/msysgit/msysgit/releases/download/Git-1.9.5-preview20150319/Git-1.9.5-preview20150319.exe
  </code></pre>
  
  <p>I did it using DownloadFile, it worked OK.</p>
  
  <p>Now I try to do it with Async method, but it downloads 0 byte file. Here's the code:</p>
  
  <pre><code>public void downloadFile(string urlAddress, string location)
  {
      using (var downloadClient = new WebClient())
      {
          downloadClient.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(Completed);
          downloadClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
  
          Uri URL = urlAddress.StartsWith("http://", StringComparison.OrdinalIgnoreCase) ? new Uri(urlAddress) : new Uri("http://" + urlAddress);
          _downloadStopWatch.Start();
          try
          {
              downloadClient.DownloadFileAsync(URL, location);
          }
          catch (Exception ex)
          {
              MessageBox.Show(ex.Message);
          }
  
          _downloadStopWatch.Stop();
  
          while (downloadClient.IsBusy) { }
      }
  }
  </code></pre>
  
  <p>where:</p>
  
  <pre><code>private string _location = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\test.exe";
  </code></pre>
  
  <p>And urlAddress is typed into textbox and passed textbox.text</p>
  
  <p>I check the Completed handler and it says completed.</p>
  
  <p>Why am I getting 0 byte file?</p>