gpt4 book ai didi

c# - BackgroundDownloader.GetCurrentDownloadsAsync 返回完成的下载

转载 作者:太空宇宙 更新时间:2023-11-03 19:05:49 24 4
gpt4 key购买 nike

在我的 Windows 应用商店应用程序中,我使用 BackgroundDownloader 类来处理多个后台下载。在我的 3 个下载都 100% 完成后,我关闭并打开应用程序,然后当我运行 BackgroundDownloader.GetCurrentDownloadsAsync 时,它会返回所有 100% 完成状态的下载。

IReadOnlyList<DownloadOperation> readOnlyList = await BackgroundDownloader.GetCurrentDownloadsAsync();

我期望完成的下载将从列表中删除,或者我需要以某种方式强制删除它们。但是找不到它的任何功能。

如何从 CurrentDownloads 列表中删除已完成的下载?

- 附带问题:GetCurrentDownloadsAsync 函数会返回所有事件的下载(包括其他应用程序下载)还是只有下载正在我的应用程序中执行?

最佳答案

您必须通过对刚刚完成的下载执行 AttachAsync() 来执行完成处理程序。之后,下载将不再出现在 GetCurrentDownloadsAsync() 的结果中。

尝试:

private async void Foo()
{
var downloads = await BackgroundDownloader.GetCurrentDownloadsAsync();
foreach (var download in downloads)
{
var task = download.AttachAsync().AsTask();
var notAwait = task.ContinueWith(OnCompleted);
}
}

private void OnCompleted(Task<DownloadOperation> task)
{
DownloadOperation download = task.Result;
// ...
}

关于c# - BackgroundDownloader.GetCurrentDownloadsAsync 返回完成的下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27894341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com