В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Браузер не поддерживается

Чтобы использовать веб-сайт, обновите браузер.

Обновите браузер до последней версии Internet Explorer

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

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 815786
Для версии 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 и Microsoft платформа.NET Framework пространства имен System.Collections.Specialized содержат классы, необходимые для извлечения сведений из файла конфигурации приложения .NET во время выполнения.

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

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

    Примечание В Visual Studio .NET 2003 нажмите кнопку Открыть.
  8. Можно использовать файл конфигурации приложения для collectcustom параметров приложения, сохранить в формате ключ/значение. Можно включить <add></add> элементы <appSettings></appSettings> раздел файла конфигурации. Каждый ключ значение pairhas, один <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 , чтобы отобразить окно программного кода. Добавьте followingstatements в модуле кода.

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

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

    Внутри конструкции foreach используется для отображения ключ и соответствующее значение в Consolewindow Console.WriteLine . Текущий ключ является процессов приложений в «s». Используйте этот индекс asan в 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 или 1.1 платформа.NET Framework, измените все вхождения класс 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: 0Key: Key0 Value:0Key: Key1 Value:1Key: Key2 Value:2		
к началу статьи

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

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

    Например, если вы addthe ключа атрибута <add></add> элемент с прописной «K» вместо строчная буква "k", или если <appSettings></appSettings> раздел отображается как <AppSettings></AppSettings> (с прописная буква «А» вместо строчная буква ""), вы receivean сообщение об ошибке.
  • В том же приложении asits связанные папки должны сохраняться в файле конфигурации.
  • Для имени configurationfile, необходимо использовать следующий синтаксис:
    Имя_приложения.ApplicationType.config
    где Имя_приложения — Это имя приложения, ApplicationType является ofapplication типа (например, .exe) и .config — требуемый суффикс.
к началу статьи
Ссылки
Дополнительные сведения см. ниже веб-узлов Microsoft Developer Network (MSDN):
Пространства имен System.Configuration
http://MSDN.Microsoft.com/en-us/library/System.Configuration (vs.71).aspx
к началу статьи

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 815786 — последний просмотр: 05/04/2015 04:50:00 — редакция: 5.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
Отзывы и предложения