Создание простого собственного обработчика раздела
Давайте создадим простой собственный обработчик раздела, который читает из раздела настроек единственное значение и возвращает его в приложение. Перед созданием кода обработчика раздела введите в файл machine.config или web.config приложения свой раздел настроек и объявление обработчика раздела. Ниже приведен простой раздел, используемый для примера.
<MicrosoftConfig MyHomePage="http://www.microsoft.com" />
Данный раздел включает единственный параметр, который будет считываться обработчиком. Нужно добавить раздел в <configSections>, где происходит объявление обработчика раздела настроек для этого раздела настроек. Ниже приведена запись в разделе <configSections>.
<configSections> <section name="MicrosoftConfig" type="MicrosoftConfig.CustomHandlerExample, MicrosoftConfig, Version=1.0.0.0, Culture=neutral, PublicKeyToken= a1690a5ea44bab32" /> </configSections>
Теперь раздел <MicrosoftConfig> будет обрабатываться обработчиком раздела MicrosoftConfig.CustomHandlerExample. Однако обработчик раздела все еще ничего не делает; нужно написать код, который проверяет XML раздела настроек и возвращает значения в приложение. Используя объект XmlNode, передаваемый в метод Create, вы можете прочитать значение единственного свойства раздела настроек.
C#
using System; using System.Data; using System.Data.SqlClient; using System.XML; using System.Configuration;
namespace MicrosoftConfig { public class CustomHandlerExample : IConfigurationSectionHandler { public object Create(object parent, object configContext, XmlNode section) { string sHomePage; sHomePage = section.Attributes.Item[0].Value; return sHomePage; } } }
VB.NET
Imports System Imports System.Data Imports System.Data.SqlClient Imports System.XML Imports System.Configuration
Namespace MicrosoftConfig Public Class CustomHandlerExample Implements IConfigurationSectionHandler Public Function Create(parent As Object, configContext As _ Object, section As XmlNode) As Object Implements _ IConfigurationSectionHandler.Create Dim sHomePage As String sHomePage = section.Attributes.Item(0).Value Return sHomePage End Function End Class End Namespace
Первая строка обработчика создает новый строковый объект для хранения значения. Вторая строка извлекает значение из объекта раздела, который передается в этот метод. Третья строка возвращает значение. Теперь, когда обработчик раздела готов, можно получить доступ к этому значению из своего приложения с помощью следующего кода.
C#
string sHomePage; sHomePage = (string) ConfigurationSettings.GetConfig("MicrosoftConfig"); Response.Write("MyHomePageIs:" + sHomePage;
VB.NET
Dim sHomePage As String sHomePage = CStr(ConfigurationSettings.GetConfig("MicrosoftConfig")) Response.Write(("MyHomePageIs:" + sHomePage))
В результате использования метода GetConfig раздел настроек интерпретируется обработчиком раздела настроек, и в приложение возвращается строка. В следующем параграфе мы создадим более сложный раздел настроек и обработчик раздела.