WP后台文件传输,超过25个文件

时间:2013-02-06 11:12:22

标签: c# list download windows-phone background-transfer

根据这个主题

http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202959(v=vs.105).aspx

我正在尝试从列表中下载超过25个mp3文件,在后台,我做了很多不同的尝试,基本上我试图传递一个列表,删除下载的文件并再次调用该函数...但是没有在后台使用应用程序...也许是因为它是一个变量?我应该存储到隔离存储中吗?这是最后一个代码:

ObservableCollection<File> remoteFileList = new ObservableCollection<File>();

public void downloadList()
{
    if ((remoteFileList.Count > 0) && (BackgroundTransferService.Requests.Count() < 5))
    {
        File t = remoteFileList.First();
        BackgroundTransferRequest transfer = startDownload(t.Name);
        transfer.TransferProgressChanged += new EventHandler<BackgroundTransferEventArgs>(transfer_TransferProgressChanged);
        remoteFileList.Remove(t);
    }
}

public void transfer_TransferStatusChanged(object sender, BackgroundTransferEventArgs e)
{
    BackgroundTransferRequest b = e.Request as BackgroundTransferRequest;
    System.Diagnostics.Debug.WriteLine(b.TransferStatus);
    ProcessTransfer(e.Request);
    downloadList();
}

1 个答案:

答案 0 :(得分:0)

要从BackgroundTransfer队列中弹出项目,您需要调用Remove()类中的BackgroundTransferService方法。您不能在队列中输入超过25个请求而不会弹出一些请求。