Это плохая практика для хранения данных конфигурации в реестре? - PullRequest
2 голосов
/ 04 марта 2011

В настоящее время я работаю над приложением Winforms, созданным кем-то другим. Я заметил, что все конфигурации хранятся в реестре. Это включает в себя строки подключения и так далее. Это хорошая или плохая практика? Если плохо, то что лучше?

Ответы [ 4 ]

6 голосов
/ 04 марта 2011

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

1 голос
/ 04 марта 2011

Я думаю, что лучшим вариантом было бы сохранить их в app.config. Это дает лучшую видимость и, честно говоря, легче изменить.

0 голосов
/ 04 марта 2011

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

В настоящее время рекомендуемым вариантом является файл конфигурации XML;он не будет добавлять данные в файл, который загружается при запуске, а это означает, что вы не вносите значительный вклад в проблему компьютера, на котором много загруженного реестра.Его легче изменить (при условии, что у вашего пользователя есть права администратора, и в любом случае вашей программе потребуется специальное разрешение для доступа к файлу для внесения программных изменений).

Если вы хотите сохранить данные вдали отслучайный пользователь, база данных SQLite - это относительно легкий способ хранения небольших объемов данных, таких как пользовательские настройки, способом, который нелегко изменить без доступа к SQLite.Просто помните, что если вы можете войти, то можете и другие, как бы трудно это ни было.

0 голосов
/ 04 марта 2011

Это в основном старая практика, существовавшая до дней .NET (на ум приходит VB6), когда не было стандартных файлов конфигурации, и Microsoft рекомендовала хранить конфигурацию в реестре.

В наши дни реестр является хорошим местом для хранения информации, которая используется несколькими приложениями, но если это не так, вам следует предпочесть файл конфигурации приложения.

...