Загрузка данных, когда интернет доступен. Compact Framework
У меня есть приложение, которое использует соединение для передачи данных мобильного телефона для связи с удаленным сервером через веб-сервисы. Тем не менее, из-за ненадежности сотовой сети приложение не работает, пока сотовая сеть не работает. Поэтому я хочу изменить приложение, чтобы оно обрабатывало заказы непосредственно на устройстве и загружало заказы в фоновом режиме (например, в службу Windows), когда интернет доступен.
Вот что я думаю:
2 Приложения
Приложение № 1: Измените приложение, принимающее заказ, для подключения к Интернету при загрузке приложения, чтобы получить все настройки и сохранить его в SD-БД. После локального сохранения настроек пользователь может обрабатывать заказы и сохранять их в базе данных.
Приложение № 2: работает в фоновом режиме, постоянно проверяя дБ (скажем, каждые 3-5 минут) на наличие заказов и загружая их на удаленный сервер через веб-сервис WCF. Кроме того, после завершения загрузки обновленные настройки загружаются обратно на устройство.
Приложение № 2 - это то, что мне нужно руководство. На рабочем столе я мог бы запустить службу Windows, однако компактная структура Windows Mobiles, похоже, не имеет поддержки типа службы Windows.
Любой совет?
1 ответ
Зачем запускать его как отдельное приложение? В этом случае вам придется выполнять межпроцессную синхронизацию доступа к данным, чтобы убедиться, что одновременный доступ из обоих процессов не вызывает проблем. Почему бы не создать фоновый "служебный" поток внутри самого приложения для пересылки данных на предприятие?