Где хранить пользовательские данные для настольного приложения?

Я занимаюсь разработкой настольного приложения на C#.NET и хочу, чтобы пользователь мог создавать новые файлы базы данных. Я новичок в настольных приложениях и не знаю, где лучше всего хранить эти файлы. Я хотел сохранить их в своей папке приложения, но я прочитал, что это не лучшее решение. Должен ли я хранить их внутри C:// или есть другие рекомендации?

2 ответа

Решение

На это не так легко ответить, как это.

  • База данных БОЛЬШАЯ?

Небольшая база данных может быть скрыта в ProgramData. Это вряд ли можно назвать goot для репозиториев размером в терабайт.

  • Знает ли пользователь, что существует файл базы данных?

Или это "скрытая особенность", которую он никогда не видит?

  • Файл базы данных специфичен для приложения или нет?

Что происходит при двойном щелчке?

Должен ли я хранить их внутри C:// или есть другие рекомендации?

Есть лучшая практика. C НИКОГДА не был лучшей практикой, так что это не "какой-то другой". Единственной вещью, которая более неосведомлена о реалиях окон, было бы хранить ее в папке приложения, которая по стандарту доступна только для пользователей.

Существует известная коллекция папок и некоторые системные вызовы, чтобы найти "истинное" местоположение для них.

Перечисление Environment.SpecialFolders имеет свои места - я надеюсь, что вы сможете просмотреть достаточно документации, чтобы найти остальное.

ApplicationData или CommonDocument или что-то подобное могут быть применимы, но это действительно зависит от их "природы", с точки зрения пользователя.

Вы можете использовать AppData \ Local. Это обычное место для хранения данных приложения.

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
Другие вопросы по тегам