Добавление BackgroundTransferRequest в BackgroundTransferService после того, как приложение находится в фоновом режиме, выполняется успешно, но новые запросы фактически не выполняются, пока приложение не вернется на передний план. Не очень хорошо для моего сценария загрузки большого количества небольших файлов, для завершения которых может потребоваться довольно много времени.
Я предполагаю, что Microsoft, вероятно, реализовала это поведение по дизайну (?), Но кто-нибудь знает способ обойти это или альтернативный подход?
Небольшая предыстория проблемы:
Я разрабатываю картографическое приложение для Windows Phone 8, которое позволяет загружать и кэшировать разделы карт для автономного использования. Этот процесс может привести к необходимости загрузки 1000 фрагментов карты.
Я создал процесс, который порождает полный ограничение в 25 запросов BackgroundTransferRequest, а затем добавляет больше в BackgroundTransferService по мере выполнения запросов. Все это работает нормально, пока приложение не перейдет в фоновый режим.
Я подумал о том, чтобы выполнить некоторую обработку на стороне веб-сервера, чтобы фрагменты могли быть объединены в zip и загружены как один запрос, но это дополнительное усложнение и приведет к тому, что на телефоне потребуется вдвое больше места для завершения загрузки, а затем извлечения файлы перед удалением исходного пакета. Но в идеале я хотел бы найти способ заставить новые BackgroundTransferRequest запускаться в фоновом режиме.