У меня есть эта проблема при использовании фоновой передачи файлов в WP7.Он отлично работает, когда мое приложение работает, но как только я нажимаю кнопку Windows, он останавливается (и возобновляет работу, когда я снова активирую приложение.) Фоновая передача файлов не предназначена для запуска в фоновом режиме, даже когда вашприложение деактивировано?Должен ли он быть в отдельном классе (какой-то класс фонового агента, отдельный от основного проекта?) Действительно расстраивает, когда я делаю все, что здесь говорится в учебнике: http://msdn.microsoft.com/en-us/library/hh202959(v=vs.92).aspx.
Есть ли некоторые«особые» вещи, которые мне нужно сделать, чтобы убедиться, что он работает в фоновом режиме, или некоторые методы, может быть, те, которые я создал сам (для получения URL-адреса и т. д.), к которым нельзя получить доступ, пока они отключены?Не могу ли я добавить в очередь, пока она деактивирована, может быть?
Большое спасибо за ваше время:)
РЕДАКТИРОВАТЬ: Небольшая отладка говорит мне, что файл в очереди на самом деле загружается.Он завершается, но не получает следующий, пока я не активирую приложение.Могу ли я не использовать свои собственные методы, переменные и т. Д. При этом?Может быть, у меня есть внутренняя очередь, скажем, на 20 пунктов.Как я могу заполнить очередь загрузки (максимум 5), когда она достигает нуля?
EDIT2: в примере от Microsoft они говорят, что вы можете добавить в очередь позже:
// Check to see if the maximum number of requests per app has been exceeded.
if (BackgroundTransferService.Requests.Count() >= 5)
{
// Note: Instead of showing a message to the user, you could store the
// requested file URI in isolated storage and add it to the queue later.
MessageBox.Show("The maximum number of background file transfer requests for this application has been exceeded. ");
return;
}
Но это не говорит, можем ли мы сделать это в фоновом режиме или нет.Поскольку речь идет о фоновой передаче файла, они должны были упомянуть об этом, в противном случае мы должны предполагать, что это может быть сделано в фоновом режиме, что, похоже, не так.Но мы не можем этого знать.Кто-нибудь, кто может подтвердить это 100%?