Практическое руководство. Чтение параметров приложения из файла Web.config

Обновлен: Ноябрь 2007

В этом примере из файла Web.config считывается параметр приложения, заданный ключом customsetting1. Элемент appSettings — это коллекция строк NameValueCollection. Работа с элементами коллекции может быть несколько сложнее работы с другими элементами конфигурации.

Для получения параметров конфигурации для веб-конфигурации корневого уровня значение null передается методу OpenWebConfiguration.

Чтобы обновить параметр конфигурации, следует использовать метод Save или SaveAs объекта конфигурации. Дополнительные сведения см. в разделе Использование классов конфигурации. Дополнительные примеры кода см. в классе AppSettingsSection и связанных с ним классах.

В этом примере используется нестатический метод получения данных конфигурации, позволяющий считывать данные конфигурации из любого приложения. Если нужно получить информацию о конфигурации из приложения, к которому принадлежит код, используйте статический метод, который действует быстрее. Дополнительные сведения см. в разделе «Работа с локальными и удаленными параметрами конфигурации» в разделе Общие сведения о конфигурационном API ASP.NET.

Пример

Dim rootWebConfig1 As System.Configuration.Configuration
rootWebConfig1 = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Nothing)
If (0 < rootWebConfig1.AppSettings.Settings.Count) Then
    Dim customSetting As System.Configuration.KeyValueConfigurationElement
    customSetting = rootWebConfig1.AppSettings.Settings("customsetting1")
    If Not (Nothing = customSetting.Value) Then
        Console.WriteLine("customsetting1 application string = {0}", customSetting.Value)
    Else
        Console.WriteLine("No customsetting1 application string")
    End If
End If
         System.Configuration.Configuration rootWebConfig1 =
                System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null);
            if (0 < rootWebConfig1.AppSettings.Settings.Count)
            {
                System.Configuration.KeyValueConfigurationElement customSetting = 
                    rootWebConfig1.AppSettings.Settings["customsetting1"];
                if (null != customSetting)
                    Console.WriteLine("customsetting1 application string = \"{0}\"", 
                        customSetting.Value);
                else
                    Console.WriteLine("No customsetting1 application string");
            }

Компиляция кода

Для этого примера необходимо следующее:

  • Элемент appSettings в корневом файле Web.config, который выглядит следующим образом:

    <appSettings>
      <add key="customsetting1" value="Some text here"/>
    </appSettings>
    

    Элемент appSettings является прямым дочерним элементом по отношению к элементу <configuration> и одноранговым элементом по отношению к элементу system.web.

Отказоустойчивость

Значения, получаемые из элемента appSettings файла Web.config, всегда имеют тип String. Если заданного ключа в файле Web.config не существует, ошибка не возникнет. Вместо этого возвращается пустая строка.

Безопасность

Файл конфигурации должен быть защищен на сервере с помощью параметров безопасности Windows для ограничения доступа на его чтение. Следует избегать хранения важных сведений, например учетных данных пользователя, в элементе appSettings файла конфигурации. Также используйте шифрование параметров конфигурации. Дополнительные сведения см. в разделе Шифрование сведений о конфигурации с помощью функции защищенной конфигурации.

См. также

Ссылки

Элемент appSettings (схема общих параметров)

ConfigurationSettings