【问题标题】:Unable to download. The application request limit has been reached无法下载。已达到应用程序请求限制
【发布时间】:2014-02-05 17:33:41
【问题描述】:

我正在使用BackgroundTransferRequest 下载文件,我有超过 6,500 个 mp3,用户可以点击下载全部按钮一次下载它们,或者用户可以下载单个文件。

我无法在下载BackgroundTransferRequest 中添加超过 25 个文件。在下载队列中添加超过 25 个文件的解决方法是什么。

达到关卡时异常

Unable to download. The application request limit has been reached

添加队列的代码,添加完所有文件后。我正在处理下载。

transferFileName = aya.DownloadUri;
Uri transferUri = new Uri(Uri.EscapeUriString(aya.DownloadUri), UriKind.RelativeOrAbsolute);

BackgroundTransferRequest transferRequest = new BackgroundTransferRequest(transferUri);
transferRequest.Method = "GET";

string downloadFile = transferFileName.Substring(transferFileName.LastIndexOf("/") + 1);
Uri downloadUri = new Uri(downloadLocation + aya.ChapterID + "/" + downloadFile, UriKind.RelativeOrAbsolute);
transferRequest.DownloadLocation = downloadUri;

transferRequest.Tag = string.Format("{0},{1},{2}", downloadFile, aya.ID, aya.ChapterID);
transferRequest.TransferPreferences = TransferPreferences.AllowBattery;

BackgroundTransferService.Add(transferRequest);

【问题讨论】:

  • 你能不能放一些代码让我们看看你是如何处理请求的?

标签: c# windows-phone-8


【解决方案1】:

必须将事件处理程序附加到BackgroundTransferRequest.StatusChanged。在适当的状态下,您必须BackgroundTransferService 明确删除转移。您现在可能需要手动从BackgroundTransferService 中删除请求。所有这些都在introduction to background transfers on msdn 中详细解释。

您应该创建一个要下载的文件队列,首先将前 25 个传输放入 BackgroundTransferService,然后在 BackgroudTransferService.Remove(..) 之后,您可以从队列中开始下一次传输。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-18
    • 2012-01-19
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 2015-12-08
    相关资源
    最近更新 更多