Реализация настольного .NET-приложения, которое может работать в автономном режиме. - PullRequest
4 голосов
/ 15 октября 2010

Мне нужно создать настольное приложение WPF в .NET.

Приложение взаимодействует с веб-сервером и может работать в автономном режиме, когда веб-сервер недоступен.

Например, приложению необходимо рассчитать, сколько времени пользователь работает напроект.Приложение подключается к серверу и получает список проектов, пользователь выбирает один проект и нажимает кнопку для запуска таймера.Пользователь может позже остановить таймер.Время начала и окончания проекта необходимо отправить на сервер.

Как реализовать эту функцию, когда приложение находится в автономном режиме?

Существует ли какое-либо существующее решение или несколько библиотек для упрощенияэто задание?

Заранее спасибо.

Ответы [ 4 ]

7 голосов
/ 15 октября 2010

Вам нужно будет сделать несколько вещей по-другому, чтобы работать в автономном режиме.

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

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

Это просто требует сохранения информации локально. Вы можете сохранить его где угодно, и даже простого XML-файла будет достаточно для сохраняемой информации, поскольку он прост - просто проект + временная шкала.

Похоже, что это приложение синхронизации для отслеживания бизнеса, и в этом случае вы захотите помешать пользователю легко изменять данные. Лично я, вероятно, сохранил бы это в изолированном хранилище и потенциально зашифровал бы его.

1 голос
/ 13 декабря 2010

вы можете использовать типизированный или нетипизированный набор данных для автономного хранения. В режиме онлайн (подключенном к Интернету) вы можете загрузить данные в набор данных и загрузить их обратно на сервер базы данных. набор данных может быть загружен и сохранен в локальном файле.

1 голос
/ 13 декабря 2010

Привет всем, я реализовал это приложение. Я создал свою автономную платформу на основе этой статьи и агента Microsoft Disconnected Service DSA

У меня естьадаптировал эту структуру для моих нужд.Спасибо за все.

1 голос
/ 16 октября 2010

Вы можете использовать Sql Server Compact для локального хранилища, а затем среду синхронизации Microsoft для синхронизации локальной базы данных с базой данных сервера. Я рекомендую провести некоторые исследования Microsoft Sync Framework.

...