Работа с файлом конфигурации
Исходные условия
Подготовленный веб-сервер согласно "Подготовка среды исполнения веб-приложений на платформе Microsoft ASP.NET." .
Задание 1. Работа с секцией AppSettings
Определение и считывание пользовательских параметров, используя секцию AppSettings.
Секция "appSettings" позволяет наиболее просто и быстро определить конфигурационные параметры, необходимые для работы приложения. Для того, чтобы использовать этот способ не нужно дополнительно разрабатывать собственные объекты и интерфейсы доступа к ним. Вся работа осуществляется посредством стандартных объектов.
- Создайте новое приложение ASP.NET.
- Откройте файл конфигурации "web.config" и найдите секцию "appSettings".
- Добавьте в секцию "appSettings" новый параметр и укажите его значение. Вы можете добавлять столько параметров, сколько необходимо для приложения.
- Параметры считываются последовательно, как указано в файле конфигурации. Вы можете управлять ключами. Например, можно очистить определенные ранее параметры.
- Также можно удалить только конкретные параметры. Для этого используется оператор "remove".
- Определите секцию "appSettings" с параметром "myParam1".
- Для получения доступа к конфигурационным данным секции "appSettings" следует использовать объект WebConfigurationManager, который имеет свойство "AppSettings", позволяющее получить доступ к конфигурационным параметрам.
Задание 2. Работа со строками подключения к базе данных
Определение и считывание параметров для подключения к базе данных.
Секция "connectionStrings" позволяет наиболее просто и быстро определить конфигурационные параметры, необходимые для работы приложения c базами данных. Для того, чтобы использовать этот способ не нужно дополнительно разрабатывать собственные объекты и интерфейсы доступа к ним. Вся работа осуществляется посредством стандартных объектов.
- Создайте новое приложение ASP.NET.
- Откройте файл конфигурации "web.config" и найдите секцию "connectionStrings".
- Добавьте в секцию "connectionStrings" новый параметр и укажите его значение. Вы можете добавлять столько параметров, сколько необходимо для приложения.
- Параметры считываются последовательно, как указано в файле конфигурации. Вы можете управлять ключами. Например, можно очистить определенные ранее параметры.
- Также можно удалить только конкретные параметры. Для этого используется оператор "remove".
- Определите секцию "connectionStrings" с параметром "db1".
- Для получения доступа к конфигурационным данным секции "connectionStrings" следует использовать объект WebConfigurationManager, который имеет свойство "ConnectionStrings", позволяющее получить доступ к конфигурационным параметрам.
Задание 3. Создание собственной конфигурационной секции
Определение параметров приложения на уровне собственной конфигурационной секции.
Использование стандартных секции "appSettings" и "connectionStrings" обосновано в случае наличия простых настроек. Если настройки приложения более сложные и их нужно вынести в отдельную секцию, то стандартными средствами можно разработать набор объектов, которые позволят это сделать.
- Создайте новое приложение ASP.NET.
- Добавьте в приложение новый класс, используя контекстное меню проекта "Add - New Item". В появившемся окне выберите шаблон "Class".
- Назовите новый класс "MyConfigSection".
- В качестве базового класса должен использоваться класс "ConfigurationSection". Это позволит стандартному механизму конфигурации .NET Framework работать с вашим классом как со стандартным классом конфигурации.
- Определите все необходимые свойства для конфигурационного класса. Каждое свойство должно использовать индексатор базового класса для доступа к конфигурационным свойствам. Также каждое свойство должно содержать методы получения значения (get) и установки значения (set). Кроме того, каждое свойство должно быть помечено атрибутом ConfigurationProperty.
- Аналогичным образом следует создать остальные свойства для конфигурационной секции. Более того, можно использовать не только строковый тип для определения параметров.
- После определения класса конфигурационной секции её следует зарегистрировать. Для этого следует сделать соответствующее определение в секции "configSections". При добавлении новой конфигурационной секции следует указать ее имя в конфигурационном файле и имя класса, который занимается обработкой этой конфигурационной секции. При размещенении секции в конфигурационном файле без регистрации ее в секции "configSections" в момент исполнения приложения будет сгенерирована ошибка.
- После регистрации конфигурационной секции, ее нужно добавить в конфигурационный файл и определить настройки.
- После определения настроек в конфигурационном файле, можно обратиться к этим параметрам используя объект WebConfigurationManager. Для этого следует воспользоваться его методом GetSection, в параметрах которого следует передать имя секции. В результате этот метод вернет объект, который нужно преобразовать к тому типу, который был создан ранее для описания секции. После этого можно использовать его свойства.