私のアプリケーションはファイルのダウンロードに使用されます。ファイルがダウンロードされた後、それらのファイルのサイズが検証のためにXMLファイル内の要素と比較されます。XMLファイルには、「size」属性を持つ各ファイルの要素があります。これは、ダウンロードされたファイルの想定サイズです。ファイルは通常のイーサネット接続で正常に検証されます。低速のワイヤレス接続が使用されている場合、ファイルは常に検証に失敗します。つまり、ダウンロードされたファイルは、想定されているサイズではありません。WebClient DownloadFileAsync()メソッドが低速または不安定なネットワークにファイルを正常にダウンロードできないのはなぜですか?何度も再試行する以外にこれを回避する方法はありますか?
foreach (var file in fileList.OrderBy(x => x.Name))
{
var client = new WebClient();
client.DownloadFileCompleted += (o, a) => Task.Factory.StartNew(() => OnDownloadFileCompleted());
client.DownloadFileAsync(new Uri(AppStrings.FileServer + file.Name), AppStrings.FilePath + file.Name);
webClientList.Add(client); //used to dispose later, after all files complete.
}