0

В моем приложении Windows Phone 8 я хотел бы периодически обновлять/загружать некоторые данные (менее 10 минут) с сервера, а приложение работает в фоновом режиме (т. Е. В состоянии покоя и надгробного камня). Я попробовал назначенный агент задачи и ресурсоемкий целевой агент, но они вызываются с интервалом в 30 минут. Пожалуйста, дайте мне знать, есть ли другое решение для реализации вышеуказанного требования.Windows Phone Background Application Service

Спасибо и наилучшие пожелания @nish

+0

Приложение не работает в фоновом режиме. поэтому вы не можете выполнить какой-либо запрос api. Возможны только варианты: BackgroundAgent (но это нестабильное решение) и push-уведомления. –

+0

Почему каждый ~ 30 минут не хватает? –

ответ

0

Правильно ли я понимаю, что ваша основная цель - сохранить хост-сеанс в живом состоянии, периодически спрашивая телефон? Если так ...

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

Вместо этого вы можете добавить логику в свое приложение, чтобы возобновить сеанс хостинга с истекшим сроком как можно более плавным. Это добавило бы реальную полезную ценность в предложение мобильного приложения по сравнению с необработанным HTTP-доступом к тому же хосту.

1

Если вам нужно получить данные чаще, чем доступно в Windows Phone по умолчанию, вы должны думать об использовании уведомления толчка. Это не подходит для полного толчка данных, но если вы правильно его используете, вы можете получить пользовательский интерфейс, с которым вы можете жить.

Один общий подход к этому заключается в том, чтобы настроить сервер для отправки уведомлений на устройство, когда есть что-то новое для сообщения вместо того, чтобы нажимать сообщение «ничего не изменилось» каждые 10 минут или около того. Если вы выталкиваете уведомление об обновлении плитки, чтобы сказать, например, «У вас есть непрочитанные элементы», пользователь может затем щелкнуть на плитке для вашего приложения, и вы можете опросить сервер для новых элементов при запуске/возобновлении. Если вы хотите более навязчивый вариант, вы можете также отправить уведомление о тосте, но в большинстве случаев обновление плитки будет достаточно.

Этот метод имеет несколько преимуществ.

  1. Вы не будете сжигать через батарею питания опроса каждые 10 минут, пока пользователь спит
  2. Ваш сервер будет иметь значительно меньшую нагрузку, так как не приходится обрабатывать запросы полные данные каждые 10 минут на одного клиента.
  3. Это соответствует философии дизайна приложений для телефона - вы накладываете на пользователя нужные данные и в то же время сохраняете время автономной работы.
+0

Спасибо, но в моем случае это мобильный инициированный запрос. Например, обновите сеанс для сохранения/сохранения. – MobDev