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);
            }
        });
Другие вопросы по тегам