Сохранение настроек пользователя в базе данных

2

1) Я использую Visual Studio 2008 (С#)

2) Я хочу, чтобы мое настольное приложение "запоминало" определенные настройки (предпочтения) для каждого пользователя индивидуально.

3) Приложение будет использовать собственную базу данных пользователей (логины + пароли), поэтому они не имеют ничего общего с учетными записями Windows.

Как я могу это сделать?

Я подумывал создать таблицу USERSetting с столбцами пары имя/значение и затем сериализовать эту информацию в класс USERSetting. Мои настройки сами по себе могут быть большим xml, и мне было интересно, есть ли лучшее решение.

Любой пример кода будет полезен.

  • 1
    Это действительно зависит от размера вашего приложения. Вы используете SQL Server или другую базу данных? Если это приложение для настольного компьютера, и вы все равно используете базу данных, вы можете обнаружить, что быстрее будет просто запрашивать базу данных всякий раз, когда потребуется. Однако, если пользователей не так много, XML-файла будет достаточно. (Это не ответ, просто пища для размышлений :))
  • 0
    почти точно дублировать - stackoverflow.com/questions/1381115/…
Теги:

3 ответа

1

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

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

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

0

Несколько упрощений, которые вы можете сделать здесь.

Если вы используете SQL Server, он поддерживает XML изначально - вы можете хранить свои настройки XML непосредственно в базе данных и из нее. Это позволит вам сериализовать/десериализовать ваш XML без необходимости выполнять какой-либо ручной перевод свойств.

Посмотрите на использование Поставщика пользовательских настроек, чтобы легко обрабатывать перемещение настроек взад и вперед.

0

можете ли вы использовать встроенные классы UserSettings? У них есть пользовательские настройки и настройки для всей системы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню