Изящно обрабатывать фоновые задачи при надстройках приложений - PullRequest
0 голосов
/ 22 февраля 2012

Я использую async ctp и имею задачу, которая работает в фоновом режиме. Он прекрасно работает, но выдает исключение, когда он запущен и приложение захоронено. Исключение связано с нулевым контекстом базы данных.

Документы говорят:

Когда приложение захоронено, базовые соединения с базой данных закрыты. Чтобы вернуться к своему прежнему состоянию после захоронения, приложение должно повторить любые запросы, которые оно выполнило до захоронены.

Я пытался использовать источник отмены, но это не работает, так как соединение уже закрыто. Любая идея, как справиться с чем-то вроде этого?

1 Ответ

0 голосов
/ 22 февраля 2012

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

С точки зрения пользователя, нормально (не очень) возвращаться к стартовому экрану после пробуждения от надгробия, а не к последнему экрану. В противном случае вы можете кэшировать данные, которые у вас уже есть - , используя IsolatedStorage и попытаться повторить экран.

...