Подтвердить что ты не робот

Лучшие практики: как мне сохранить настройки в С# (Format/Type)?

Теперь мне любопытно, какие возможности сохранять/загружать настройки в .net. Например, мне нужно сохранить имя пользователя/пароль для разных db и т.д., Также мне нужно сохранить некоторые параметры и т.д.

Моим было создать класс [Seriazable] и сохранить его в файл...

Что вы можете предложить? какие возможности в .net и т.д.

4b9b3361

Ответ 1

Если вы хотите сохранить параметры конфигурации приложения, вы можете использовать "AppSettings" в файле App.Config или Web.Config в зависимости от того, является ли это окном или веб-приложением. Я считаю, что синтаксис для чтения значений конфигурации

string configValue = Configuration.AppSettings["ConfigValueName"];

Файл конфигурации будет выглядеть следующим образом:

<configuration> 
  <appSettings>
    <add key="ConfigValueName" value="ABC"/>
  </appSettings>
</configuration>

С большим количеством других вещей.

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

Вы можете сделать сериализацию класса и автоматически сериализовать его в XML или Binary, или вы можете использовать базу данных SQL. Существует много технологий .net для доступа к базам данных, которые просто ищут ADO.net, LINQ и Entity Framework.

Ответ 2

.NET Framework предоставляет некоторые механизмы для хранения и загрузки приложений и/или пользовательских настроек. См. " MSDN: Использование настроек в С#" для основ.

Чтобы зашифровать некоторые разумные данные в ваших файлах конфигурации, вы также можете использовать некоторые стандартные функции .NET Framework. Для краткого введения взгляните на " Шифрование информации конфигурации с использованием защищенной конфигурации" и " Шифрование паролей в файле .NET app.config".

Ответ 3

Ну, наиболее распространенным способом хранения и загрузки является использование каких-либо XML-данных, а создание класса [Serializable] и вывод сериализованного класса в файл XML будет работать, но вы должны соблюдать следующие ум:

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

Ответ 4

Вы можете использовать файлы ресурсов для менее чувствительной информации. Для имен пользователей/паролей вам нужен текстовый файл с расширением, или используйте CSP.