2013-08-20 8 views
1

Для точечных сетевых программ, где находится «правильное» место для хранения сериализованных данных?Где я должен сохранить свой файл с сериализованными данными?

В папке/user/username? Файлы программы/MyAppName /? Где-то еще?

+1

Если разные пользователи хранят разные данные, имеет смысл хранить их в своей учетной записи пользователя, а не в программных файлах. –

+1

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

+0

Я не искал настройки приложения, потому что это больше касалось данных приложения, а не настроек. Иногда это может быть серая область. Извините за дубликат. – MrGibbage

ответ

0

This blog post от Microsoft Pat Altimore предлагает несколько мест, в зависимости от того, какой тип данных вы пытаетесь сохранить.

.NET предоставляет специальные значения Enum, которые вы можете передать в System.Environment.GetFolderPath, чтобы получить желаемую «специальную» папку.

Короче:

  • Если это пользовательские данные, используйте SpecialFolder.ApplicationData.
  • Если это машинные данные, используйте SpecialFolder.CommonApplicationData.

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

0

Я бы сказал, это зависит от того, какую дату вы хотите хранить. Если это конкретный пользователь дата, то я предложил бы использовать путь, который возвращается

Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData);

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

+0

Я почтительно не согласен с вашим заключительным заявлением; не рекомендуется, чтобы данные, относящиеся к машине, сохранялись на пути установки. Для таких данных Windows предоставляет местоположение «Common Application Data». Путь установки (т. Е. Папки «Program Files») предназначен для хранения * только файлов приложений. – BTownTKD

Смежные вопросы