Рекомендации: как хранить настройки в C # (формат / тип)?
Автор вопроса: Lukas ŠalkauskasОтветов: 5
Теперь мне любопытно, какие есть возможности хранить / загружать настройки в .net. Например, мне нужно сохранить имя пользователя / пароль для разных баз данных и т. Д., Также мне нужно сохранить некоторые параметры и т. Д.
Моя мысль заключалась в том, чтобы создать класс [Seriazable] и сохранить его в файл ...
Что ты можешь предложить? каковы возможности в .net и т. д.
Я задал аналогичный вопрос здесь, возможно, ответы помогают ... spinodal 14.02.2009
Если вы хотите сохранить параметры конфигурации приложения, вы можете использовать "AppSettings" в файле App.Config или Web.Config, в зависимости от того, какое это приложение - Windows или веб-приложение. Я считаю, что синтаксис для чтения значений конфигурации следующий
Если вам нужно хранить информацию о пользователях или других повторяющихся объектах в вашей системе, вам нужно будет создать базу данных и написать код для сохранения / чтения данных в / из базы данных.
Вы можете сделать класс сериализуемым и автоматически сериализовать его в 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-файл будут работать, но вы должны помнить о следующих вещах:
У вас не будет никакого контроля над входными данными - поскольку XML-файл можно редактировать вне вашего приложения, можно загружать совершенно бессмысленные данные.
Вам нужно иметь разумные значения по умолчанию, когда в XML отсутствуют узлы. Это может быть вызвано ручным редактированием или загрузкой старой версии вашего класса в новую версию.
Я лично очень не решился бы хранить какие-либо пароли в файле конфигурации где угодно, без использования какого-либо алгоритма асимметричного шифрования. Если бы я нашел программу, которая хранила мои пароли в виде обычного текста в XML-файле, я бы прекратил использовать эту программу.
Ответ 4 · рейтинг 1 · Lonzo
Вы можете использовать файлы ресурсов для менее конфиденциальной информации. Для имен пользователей / паролей вам необходимо использовать зашифрованный текстовый файл или использовать CSP .
Ответ 5 · Gabrielizalo
Я рекомендую хранить там, где вам нужно, App.Config, файл Ini ... Затем используйте библиотеку Config.Net: Простая в использовании и мощная библиотека конфигурации .NET, полностью покрытая юнит-тесты и тестирование на тысячах серверов и приложений. Нашел в GitHub: https://github.com/aloneguid/config
Таким образом, вы можете иметь свои настройки в одном месте, а позже, если вам нужно, перейти в другое.