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



         

Создание собственного сложного обработчика раздела - часть 2


Теперь мы создадим обработчик раздела, считывающий эти параметры из настроечного файла. Ниже приведен код основной части обработчика раздела, сильно напоминающий обработчик раздела, созданный ранее.

C#

using System; using System.Data; using System.Data.SqlClient; using System.XML; using System.Configuration;

namespace DNetReporting { public class ConfigHandler : 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 DNetReporting Public Class ConfigHandler 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

Обработчик раздела настроек должен иметь возможность унаследовать все родительские настроечные параметры. Первый параметр типа object, который называется parent, содержит параметры, наследуемые этим обработчиком. Мы сохраняем параметры в объекте Hashtable, так что через объект parent будет передаваться именно этот объект. Ниже приведен код, который следует добавить в метод Create, чтобы реализовать наследование данных.

C#

Hashtable parentConfig = (Hashtable) parent; Hashtable config; if (parentConfig != null) { config = (Hashtable) parentConfig.Clone(); } else { config = new Hashtable(); }

VB.NET

Dim parentConfig As Hashtable = CType(parent, Hashtable) Dim config As Hashtable If Not (parentConfig Is Nothing) Then config = CType(parentConfig.Clone(), Hashtable) Else config = New Hashtable() End If

Первая строка кода преобразует тип объекта parent к типу Hashtable. Вторая строка создает Hashtable, в котором будут храниться параметры. Оператор If, с которого начинается третья строка кода, проверяет, равен ли parentConfig типа Hashtable значению null.


Содержание  Назад  Вперед