Как хранить и извлекать пользовательские данные из файла конфигурации приложения с помощью Visual C#

Переводы статьи Переводы статьи
Код статьи: 815786 - Vizualiza?i produsele pentru care se aplic? acest articol.
Для Microsoft Visual Basic.NET версии статьи, см. 313405.
В данной статье относится к следующим Microsoft.NET Framework Пространство имен библиотеки классов:
  • System.Configuration
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описывается, как для хранения пользовательских данных в файл конфигурации (.config), вы можете получить позже во время выполнения путем его соответствующее приложение. Это полезно, когда необходимо определить данные связанный с приложением.

Требования

В следующем списке представлены рекомендуемого оборудования, программного обеспечения, сетевой инфраструктуры и пакетов обновления, необходимо:
  • Microsoft Windows 2000, Windows XP, Windows Server 2003, Windows Vista или Windows Server 2008
  • Microsoft Visual C#
В данной статье предполагается, что вы знакомы со следующими разделы:
  • Расширяемый язык разметки (XML)
  • .NET, файлы

Создайте консольное приложение, которое считывает содержимое файла конфигурации

Приложение может хранить параметры конфигурации файла, не сопоставлено приложение. Файлы конфигурации сохраняются в формате XML формат.

В System.Configuration иSystem.Collections.Specialized пространства имен в Microsoft.NET Framework включают необходимые классы для извлечения информации из.Файл конфигурации приложения NET во время выполнения.

Чтобы создать консольное приложение, считывающее Содержание соответствующего файла конфигурации во время выполнения, выполните следующие действия:
  1. Запустите Visual Studio.NET или Visual Studio 2005.
  2. На Файл Выберите пунктНовый, а затем нажмите кнопку Проект.
  3. Нажмите кнопку Visual C# Из спискаТипы проектов, а затем нажмите кнопку Консоль Приложение Из списка Шаблоны. Имя проекта ConConfig. По умолчанию в Visual C# создается класс с именем программы.

    Примечание В Visual Studio.NET 2003, щелкните Проекты Visual C# Из спискаТипы проектов, а затем нажмите кнопку Консоль Приложение Из списка Шаблоны. Имя проектаConConfig. По умолчанию в Visual C# создается класс с именем Class1.
  4. Убедитесь, что отображается окно обозревателя решений. Если не отображается, нажмите сочетание клавиш CTRL + ALT + L.
  5. В обозревателе решений щелкните правой кнопкой мыши имя проекта, нажмите кнопку Добавить, а затем нажмите кнопку Новый элемент.
  6. В Добавление нового элемента список, выберитеXML-файл.
  7. В Имя текстовое поле, типФайл app.config, а затем нажмите кнопкуДобавить.

    Примечание В Visual Studio.NET 2003, щелкните Открыть.
  8. Файл конфигурации приложения можно использовать для сбора пользовательские параметры приложения, которые будут сохранены в формате ключ/значение. Можно включить <add></add> элементы в <appsettings></appsettings> раздел файла конфигурации. Каждая пара ключ/значение имеет один <add></add> элемент. Объект <add></add> элемент имеет следующий формат:
    <add key="Key0" value="0" />
    Добавить <appsettings></appsettings> раздел с <add></add> элементы в файле конфигурации между<configuration></configuration> и теги.

    Например Следующий файл конфигурации содержит <appsettings></appsettings> раздел, который определяет три пары ключ/значение:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
       <appSettings>
          <add key="Key0" value="0" />
          <add key="Key1" value="1" />
          <add key="Key2" value="2" />
       </appSettings>
    </configuration>
    
  9. В обозревателе решений дважды щелкните значокProgram.cs для отображения окна кода. Добавьте следующие строки инструкции в модуле кода.

    Примечание Эти операторы должны находиться перед всеми остальными операторами файл.
    using System.Configuration;
    using System.Collections.Specialized;
  10. Добавьте ссылку на файл System.Configuration.dll. Чтобы сделать это, выполните следующие действия.
    1. На Проект меню, нажмите кнопку Добавить ссылку.
    2. В Добавить ссылку диалоговое окно Выберите .NET Вкладка.
    3. Найдите и выделите компонент имен System.Configuration.
    4. Нажмите кнопку ОК.
  11. Для хранения значения из раздела файла конфигурации в<appsettings></appsettings> раздел файла конфигурации, объявления Строковая переменная, в Основной раздел следующим образом:
     string  sAttr ;
  12. Для получения значения для указанного ключа из <appsettings></appsettings> раздел файла конфигурации, используйте Получить метод AppSettings свойства элемента ConfigurationManager класс. В ConfigurationManager класс находится в System.Configuration пространство имен. При AppSettings.Get метод получает входной параметр string, содержащий ключ приложение извлекает значение, связанное с ключом.

    В Следующий код возвращает значение Клавиши атрибут из соответствующего файла конфигурации. Затем код помещает это значение в sAttr Строковая переменная. Если ключ не существует для данного значения nothing хранится в sAttr.
    sAttr = ConfigurationManager.AppSettings.Get("Key0");
  13. Для отображения значения, приложение получает в Окно консоли, используйте Console.WriteLine следующим образом:
    Console.WriteLine("The value of Key0 is "+sAttr);
  14. Можно использовать одну ссылку на AppSettings свойство для извлечения всех ключ/значение в виде пары в<appsettings></appsettings> раздел. При использовании AppSettings свойство, приложение возвращает все пары ключ/значение. Эти пары хранятся в NameValueCollection тип. В NameValueCollection содержит записи ключ значение для каждого ключа, приложение Извлекает. В NameValueCollection класс находится в System.Collections.Specialized пространство имен.
    NameValueCollection sAll ;
    sAll = ConfigurationManager.AppSettings;
  15. В AllKeys свойства элемента NameValueCollection ссылается на массив строк, который содержит запись для каждого ключа, приложение извлекает. Использование по каждому элементу» Строительство для итерации AllKeys Массив для каждого раздела, приложение получает доступ к. Каждый ключ запись в AllKeys имеет тип данных string.

    Внутри по каждому элементу» Строительство, использование Console.WriteLine Чтобы отобразить ключ и соответствующее значение в консоли окно. Текущий ключ, который обрабатывает приложение находится в «s». Используйте это как Индекс в sAllNameValueCollection Чтобы получить соответствующее значение.
       foreach (string s in sAll.AllKeys)
          Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s));
       Console.ReadLine();

Полный пример кода

using System;
using System.Configuration;
using System.Collections.Specialized;

namespace ConConfig
{
    class Program
    {
        static void Main(string[] args)
        {
            string sAttr;

            // Read a particular key from the config file            
            sAttr = ConfigurationManager.AppSettings.Get("Key0");
            Console.WriteLine("The value of Key0: " + sAttr);

            // Read all the keys from the config file
            NameValueCollection sAll;
            sAll = ConfigurationManager.AppSettings;

            foreach (string s in sAll.AllKeys)
                Console.WriteLine("Key: " + s + " Value: " + sAll.Get(s));
           Console.ReadLine();
       }
    }
}
Примечание Этот код предназначен для платформы.NET Framework 2.0. Если вы используете.NET Framework 1.0 или.NET Framework 1.1, изменить все экземпляры ConfigurationManager класс ConfigurationSettings.

Завершение настройки файла со списком (ConConfig.exe.config)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <appSettings>
      <add key="Key0" value="0" />
      <add key="Key1" value="1" />
      <add key="Key2" value="2" />
   </appSettings>
</configuration>

Убедитесь, что он работает

Нажмите клавишу F5 для запуска кода. Следует отображать в окне консоли пар "ключ значение" <appsettings></appsettings> раздел файла конфигурации выглядит следующим образом:
The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2
		

Разрешение вопросов:

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

    Например, при добавлении ключевой атрибут <add></add> элемент с прописных «K» вместо строчные буквы «k», или, если очередь <appsettings></appsettings> раздел отображается в виде <appsettings></appsettings> (с прописная буква «А» вместо строчная буква «»), появляется сообщение об ошибке.
  • Файл конфигурации должен быть сохранен в той же папке, что соответствующее приложение.
  • Необходимо использовать следующий синтаксис для конфигурации Имя файла:
    Имя_приложения.ApplicationTypeconfig
    В данной команде Имя_приложения Имя приложения, ApplicationType Тип приложение (например, exe) и .config — это требуемый суффикс.

Ссылки

Дополнительные сведения содержатся в следующих разработчиков корпорации Майкрософт Веб-узлы сети MSDN:
Свойство ConfigurationSettings.AppSettings
http://MSDN.Microsoft.com/en-us/library/System.Configuration.ConfigurationSettings.appSettings (vs.71) .aspx
System.Configuration Пространство имен
http://MSDN.Microsoft.com/en-us/library/System.Configuration (vs.71) .aspx

Свойства

Код статьи: 815786 - Последний отзыв: 14 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Ключевые слова: 
kbsweptvs2008 kbcollections kbcollectionclass kbconfig kbnamespace kbhowtomaster kbprogramming kbmt KB815786 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:815786

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com