Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Рекомендации: как хранить настройки в C # (формат / тип)?

Автор вопроса: Lukas ŠalkauskasОтветов: 5

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

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

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

  • Я задал аналогичный вопрос здесь, возможно, ответы помогают ... spinodal 14.02.2009

configurationsettings

Ответы

Ответ 1 · рейтинг 2 · TJB

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

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

Файл конфигурации будет выглядеть так

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

Наверное, с множеством других вещей.

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

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

Ответ 2 · рейтинг 17 · Alexander

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

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

Ответ 3 · рейтинг 4 · scwagner

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

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

Ответ 4 · рейтинг 1 · Lonzo

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

Ответ 5 · Gabrielizalo

Я рекомендую хранить там, где вам нужно, App.Config, файл Ini ... Затем используйте библиотеку Config.Net: Простая в использовании и мощная библиотека конфигурации .NET, полностью покрытая юнит-тесты и тестирование на тысячах серверов и приложений. Нашел в GitHub: https://github.com/aloneguid/config

Таким образом, вы можете иметь свои настройки в одном месте, а позже, если вам нужно, перейти в другое.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы