WebClient DownloadFileAsync зависает

Добрый день. Я работаю над классом загрузчика файлов с использованием DownloadFileAsync. В обычных ситуациях все работает нормально. Но когда я загружаю файл и отключаю сетевое соединение, прогресс загрузки просто останавливается на бесконечное время, не вызывая никаких ошибок или обратных вызовов. Есть идеи, как справиться с этой ситуацией? Большое спасибо.

_client.Proxy = WebRequest.DefaultWebProxy;
_client.DownloadProgressChanged += (sender, argv) => { actionCallback(argv.ProgressPercentage); }
_client.DownloadFileCompleted += (sender, argv) => { 
      if (argv.Error != null) { 
          _exc = argv.Error;
      } 
      set event
}
 Task.Factory.StartNew(() => {
     _client.DownloadFileAsync(request, targetFileName);

     thread sync

     if (_exc != null) {
         logger.ErrorException(exc);
         throw;
     }

Проблема проявляется под Vista и 2k8. На Win7 все в порядке.

6
задан mxpv 25 November 2011 в 11:14
поделиться