如何获取有关后台下载失败原因的信息?

How do I get information about why a background download is failing?

在 WinRT 中,我正在尝试生成后台下载,但我的头似乎撞到了墙上。我有以下代码:

                var downloader = new BackgroundDownloader();
                var operation = downloader.CreateDownload(new Uri(rendition.Url), resultingFile);

                var downloadTask = operation.StartAsync().AsTask(new Progress<DownloadOperation>(ProgressHandler));

一次一个地执行代码,当我调用 CreateDownload() 时,结果 operation.Progres..StatusIdle,这是合乎逻辑的,因为我还没有开始它。

但是,如果我多走一步,StartAsync() 运行,operation.Progress.Status 现在等于 Error。我的进度处理程序从未被调用。

有什么方法可以得到关于错误是什么的更详细的信息吗?我找不到任何可以告诉我下载有什么问题的东西。

首先我看不到你已经分配了你的

resultingFile

我用

StorageFile file = /* Instantiate */;

我正在创建多个任务,因为需要下载很多文件。

那我就这样做了,现在参考你的代码

 //List to hold my tasks
 List<Task> dloadTasks = new List<Task>();

 //SET callback
 Progress<DownloadOperation> progressCallback = new Progress<DownloadOperation>(DownloadProgress);
 //YOUR CODE!
 var downloader = new BackgroundDownloader();
 var operation = downloader.CreateDownload(new Uri(rendition.Url),   resultingFile);

 //Your code modified a bit
 var yourResult = await operation.StartAsync().AsTask(progressCallback);


 //This is where my way changes from your way
 Task downloadCompletionTask = HandleDownloadAsync(operation , true);

 //Add to list with tasks
 dloadTasks.Add(downloadCompletionTask);

 //Then i Await them
 await Task.WhenAll(downloadCompletionTasks);