【发布时间】:2016-04-10 08:38:30
【问题描述】:
我有一个 WinRT 应用程序(Windows 8.1 和 Windows Phone 8.1)。我使用BackgroundDownloader 分组下载文件。
我使用群组下载有声读物,因此有声读物的所有曲目都在一个群组中下载,并且可以一次取消。每个组的下载都是串行下载(不是并行),因此用户可以从一开始就开始收听有声读物。
我使用这样的代码来创建下载:
var downloader = new BackgroundDownloader
{
TransferGroup = BackgroundTransferGroup.CreateGroup(groupKey),
};
var download = downloader.CreateDownload(source, destinationFile);
download.TransferGroup.TransferBehavior = BackgroundTransferBehavior.Serialized;
问题是当用户发起超过 50 次下载时,
download.TransferGroup.TransferBehavior = BackgroundTransferBehavior.Serialized;
代码行引发Only up to 50 groups can be configured 异常。
例外情况,可能是BackgroundDownloader 限制(当然,MSDN 上没有关于此的信息)如果限制运行 50 个下载组就可以了。
问题是,下载完成时也会发生异常。
举例:用户发起49次下载,全部成功完成。然后用户再发起 1 次下载,一切正常。然后用户再启动 1 次下载并抛出此异常。虽然没有 50 个下载组已经在运行。自应用推出以来,仅创建了 50 个下载组。
有没有办法在完成后“删除”组?手动下载组后,我是否必须处理这些组?是否是 WinRT 错误(我不会感到惊讶)?
【问题讨论】:
标签: c# windows-runtime windows-phone-8.1 microsoft-metro