Я создаю приложение, которое имеет приложение переднего плана (конечно), а также PeriodicTask и ResourceIntensiveTask.
Мне нужен способ завершения запланированных задач, если пользователь запускает само приложение во время их работы.
Я не вижу никакого способа сделать это с общесистемными мьютексами. В идеале, когда запускались фоновые задачи, должен запускаться поток, который прослушивает сигнал из приложения переднего плана, и если он получает этот сигнал, он может аккуратно завершить фоновую задачу.
Кроме опроса (скажем, папки для определенного файла), есть ли у кого-нибудь ясное предложение о том, как мое приложение переднего плана может сигнализировать моим фоновым агентам о закрытии, если приложение переднего плана запущено?
Я направляюсь к розеткам, но это похоже на излишество.
Справка:
В настоящее время я использую IsolatedStorage для хранения своих данных (не базы данных) - в конце концов я перейду к использованию базы данных.
Мое приложение переднего плана синхронизирует локальные данные с веб-службой и обновляет пользовательский интерфейс при добавлении новых элементов из веб-службы. Я использую файл, который ищу, чтобы найти элементы данных, и к которому я добавляю синхронизированные новые элементы.
Я хочу, чтобы фоновые агенты запускались для выполнения этой синхронизации в фоновом режиме, обновления файлов в изолированном хранилище, включая индексы и т. Д. Но как только я запускаю приложение переднего плана, мне нужно остановить фоновое приложение, чтобы передний план и фон не пытаются одновременно обновить одни и те же файлы.
Мне нужен только один процесс для обновления локальных данных за раз, и мне нужен процесс переднего плана для вытеснения фонового процесса.