Практическое руководство. Чтение параметров приложения из файла 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 файла конфигурации. Также используйте шифрование параметров конфигурации. Дополнительные сведения см. в разделе Шифрование сведений о конфигурации с помощью функции защищенной конфигурации.