Где хранить пользовательские данные для настольного приложения?
Я занимаюсь разработкой настольного приложения на C#.NET и хочу, чтобы пользователь мог создавать новые файлы базы данных. Я новичок в настольных приложениях и не знаю, где лучше всего хранить эти файлы. Я хотел сохранить их в своей папке приложения, но я прочитал, что это не лучшее решение. Должен ли я хранить их внутри C:// или есть другие рекомендации?
2 ответа
На это не так легко ответить, как это.
- База данных БОЛЬШАЯ?
Небольшая база данных может быть скрыта в ProgramData. Это вряд ли можно назвать goot для репозиториев размером в терабайт.
- Знает ли пользователь, что существует файл базы данных?
Или это "скрытая особенность", которую он никогда не видит?
- Файл базы данных специфичен для приложения или нет?
Что происходит при двойном щелчке?
Должен ли я хранить их внутри C:// или есть другие рекомендации?
Есть лучшая практика. C НИКОГДА не был лучшей практикой, так что это не "какой-то другой". Единственной вещью, которая более неосведомлена о реалиях окон, было бы хранить ее в папке приложения, которая по стандарту доступна только для пользователей.
Существует известная коллекция папок и некоторые системные вызовы, чтобы найти "истинное" местоположение для них.
Перечисление Environment.SpecialFolders имеет свои места - я надеюсь, что вы сможете просмотреть достаточно документации, чтобы найти остальное.
ApplicationData или CommonDocument или что-то подобное могут быть применимы, но это действительно зависит от их "природы", с точки зрения пользователя.
Вы можете использовать AppData \ Local. Это обычное место для хранения данных приложения.
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);