Как хранить данные о пользователях в WinForms? - PullRequest
5 голосов
/ 16 сентября 2009

В моем приложении WinForms у меня есть несколько текстовых полей, в которые пользователь вводил некоторые данные. Я хочу хранить данные, но я не хочу использовать базу данных. В мои дни C ++ каменного века я просто использовал .ini. Тем не менее, app.config не кажется подходящим местом для хранения этих данных.

Какие у меня есть другие варианты?

Ответы [ 6 ]

11 голосов
/ 16 сентября 2009

Я бы сказал, что файл .config - правильное место. Обязательно используйте область действия Пользователь файла Settings.settings, а не область приложения.

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

Использование IsolatedStorage может быть еще одним хорошим вариантом. Вы можете создать свой собственный файл в любом формате (с любыми нужными значениями) и сохранить его на локальном компьютере в «IsolatedStorage».

6 голосов
/ 16 сентября 2009

Вы можете создать папку где-нибудь на диске и просто записать файл в любом подходящем формате (XML, простой текст, на ваш выбор). Например, вы можете сделать это по пути, указанному Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) или Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData).

3 голосов
/ 16 сентября 2009

Я бы посмотрел в изолированное хранилище. Это легко настроить для каждого пользователя. А поскольку он требует только частичного доверия, он будет работать для любого сценария развертывания.

Проверьте это введение .

2 голосов
/ 17 сентября 2009

В зависимости от того, сколько переменных / данных вы хотите сохранить, файл app.config / settings может быть идеальным местом.

Проверьте вкладку «Настройки» в свойствах проекта и обратите внимание, что вы можете установить как настройки приложения, так и настройки пользователя. Настройки приложения влияют на все приложение. Пользовательские настройки сохраняются для каждого пользователя.

Раздел app.config, содержащий пользовательские настройки, будет сохранен в пользовательском каталоге при их сохранении и реинкорпорирован при перезапуске приложения.

Проверьте этот URL для ознакомления с настройками приложения / пользователя в MSDN, а также этот SO * для аналогичного вопроса .:

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

1 голос
/ 16 сентября 2009

Я считаю, что правильное место для хранения пользовательских настроек в WinForms 2.0 было бы в файле настроек (а не в файле конфигурации). Вот небольшая статья для объяснения.

1 голос
/ 16 сентября 2009

Создайте .config или другой файл данных (например, xml) в данных приложения для конкретного пользователя.

используйте system.environment.specialfolder , чтобы получить папку ApplicationData, добавьте подпапку с названием вашей компании, в эту подпапку с именем вашего приложения, в этом файле данных для этого конкретного пользователя. Таким образом,

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\YourCompany\\YourApplication\\YourData.config"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...