Я ищу хорошие варианты для сохранения локального состояния приложения (созданного в .Net / C #.)
Я подумал о том, чтобы развернуть свое собственное решение или использовать простую локальную базу данных, такую как Sqllite, однако я решил спросить сообщество SO, какие варианты доступны.
Приложение, над которым я работаю, существует в киоске, и мне нужно будет поддерживать локальное состояние в случае случайного выключения и других подобных исключений.
Что вы рекомендуете?
Обновление
Что ж, после дальнейшего рассмотрения я решил использовать SQLite с DbLinq, основным альтернативным претендентом был выпуск SQL Server Compact, но я нашел несколько важных факторов, которые поставили SQLite выше SQLCE.
В частности.
- API, предоставляемый SQLCE (IMO), не был таким богатым, как API SQLite.net или DbLinq.
- Производительность SQLCE во время выполнения была не такой хорошей, как у SQLite.
- SQLite с открытым исходным кодом является полезным фактором.
Почему я не использовал Properties.Settings или app.config?
Для моего варианта использования мне нужно было что-то вроде (легко) запрашиваемого журнала событий (мне нужно разрешить аудит кредитных транзакций.) Основное значение состояния, которое я здесь рассматривал, было доступным кредитом в киоске. Таким образом, чтобы восстановить мои переменные состояния при запуске приложения, я могу запросить в журнале последнюю запись и получить оттуда необходимые значения.
Когда вам нужно только сохранить значение и извлечь его. Properties.Settings или app.config являются совершенно подходящими местами для этого.