Конфигурирование и настройка Microsoft ASP.NET

       

Создание простого собственного обработчика раздела


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



Содержание раздела