Windows 10 приложения DownloadOperation не запускается
Я пытаюсь загрузить файл с помощью этого кода в универсальном приложении для Windows 10:
await downloadOperation.StartAsync().AsTask(token, progressCallback);
он работает на ПК, но на мобильном иногда он не начинает загрузку и даже не дает исключения, пока я не перезагружу мобильный. Это ошибка в системе или я что-то упустил?
Изменить 1:
статус задачи "ожидает активации", поэтому он не выдает исключение. он просто ждет и не запускается, пока я не перезагружаю телефон, я пытаюсь всегда с одним и тем же URL, и у меня нет этой проблемы на ПК. Это касается только телефона. Свойства задачи следующие:
1 ответ
Я наконец нашел проблему. когда я запускаю операцию загрузки и закрываю приложение, не отменяя операцию, BackgroundDownloader сохраняет операцию для следующего запуска приложения. когда число операций загрузки достигнет максимально разрешенных одновременных операций (я думаю, 5), следующие операции будут в списке ожидания () до завершения предыдущих операций. поэтому мне пришлось остановить все незавершенные операции, когда приложение запускается так:
Task.Run(async () =>
{
var downloads = await BackgroundDownloader.GetCurrentDownloadsAsync();
foreach (var download in downloads)
{
CancellationTokenSource cts = new CancellationTokenSource();
download.AttachAsync().AsTask(cts.Token);
cts.Cancel();
}
var localFolder = ApplicationData.Current.LocalFolder;
var files = await localFolder.GetFilesAsync();
files = files.Where(x => x.Name.EndsWith("_")).ToList();
foreach (StorageFile file in files)
{
await file.DeleteAsync(StorageDeleteOption.PermanentDelete);
}
});