6

良い一日。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ではすべて問題ありません。

4

1 に答える 1

1

WebClient.OpenReadCompletedイベントにイベント ハンドラーを追加します。エラーが発生した場合、OpenReadCompletedEventArgs には Error の boolean プロパティがあります。

于 2011-11-24T17:32:20.847 に答える