Microsoft提供的用于Windows Runtime应用程序后台下载的(小)示例代码:
try
{
LiveDownloadOperation operation = await connectClient.CreateBackgroundDownloadAsync(filePath);
var result = await operation.StartAsync();
// Handle result.
}
catch
{
// Handle errors.
}
我正在使用CreateBackgroundDownloadAsync的变体,您可以在其中指定StorageFile作为第二个参数,从而使下载的文件存储为StorageFile。
我如何知道下载完成的时间?结果似乎没有我可以检查的任何属性,似乎也没有任何被触发的事件。
文档非常缺乏: - (。
感谢。
答案 0 :(得分:0)
通过仔细阅读API文档,显示你做了两件事:
BackgroundDownloadCompleted
事件添加处理程序。如果在您的应用仍处于活动状态时下载完成,则会引发此问题GetCurrentBackgroundDownloadsAsync
方法调用AttachAsync
重新连接到您的应用终止时正在进行的任何操作。答案 1 :(得分:0)
事实证明,我对整个异步/等待片段非常遗忘。
当
var result = await operation.StartAsync();
实际上将值放入结果中,下载已完成。同样,当应用程序终止时重新连接到正在进行的下载时 - 等待调用将在下载完成后完成。
我仍然认为Live SDK文档与其他MSDN文档相比非常差,Microsoft需要将一些工作投入其中。