-1

В моем приложении мне нужно синхронизировать некоторые данные по интервал времени TimeTriggered. Теперь я создал BackgroundTask с TimeTrigger, внутри этой задачи я запускаю операцию BackgroundTransfer. Это работает, но у меня есть вопросы по этому поводу.BackgroundTransfer внутри BackgroundTask

  1. Это хорошее решение, или лучше для этого сценария?

  2. Есть некоторые загадочные исполнения. Если я разворачиваю приложение в качестве отладочной версии на свой телефон, все работает как шарм, все операции переноса завершаются в течение одного исполнения BackgroundTask, это занимает +/- 15 минут. Теперь, если я разворачиваю приложение как версию выпуска на свой телефон, BackgroundTask переносит данные только на 1-2 минуты и останавливается, пока не будет запущено следующее исполнение из TimeTrigger. Почему есть разница или почему это так?

редактировать: ресурсоемких задач это не вариант для меня, приложение построено на WinRT Маркете. Когда это ограничение от backgroundTask, как тогда я могу выполнить такую ​​операцию из фона?

edit2: @kiewic, им назвав его awaitable, изменится, но то, что тогда разница, так как это executet в фоновом режиме?

+0

15 минут загрузки? Я думаю, что backgroundtask не предназначен для такой работы. Попробуйте ресурсную интенсификационную задачу, но есть и некоторые ограничения. – crea7or

+0

ОС налагает сетевые и сетевые ограничения. – kiewic

+1

Можете ли вы опубликовать код, как вы называете StartAsync()? Убедитесь, что вы не ожидаете этого звонка. – kiewic

ответ

1

Вы должны различать BackgroundTask и BackgroundTransfer. Это две разные вещи.

Задача вашей фоновой задачи - начать ваши фоновые переводы. Работа вашего BackgroundTransfer (загрузка или загрузка) - выполняется независимо от вашей заявки.

Передача не должна происходить внутри BackgroundTask. Если вы звоните , подождите в начале передачи фона, вы будете ждать завершения загрузки. Если вы этого не сделаете, вы продолжите выполнение своей задачи (например, если вы находитесь в цикле, вы можете начать сборку и начать следующую загрузку).

После того, как вы начали передачу фона, он управляется независимо от вашего приложения или любой задачи ОС. Он может даже пережить перезапуск телефона.

+0

Это мне очень помогло, большое спасибо! Теперь я понимаю способ использования фоновой задачи. – andy12

 Смежные вопросы

  • Нет связанных вопросов^_^