Объявление обработчика раздела конфигурации
Первым в настроечных файлах идет раздел <configSections>. Он содержит объявления обработчиков разделов настроек для последующих разделов настроек. Каждый раздел настроек связан с обработчиком, который будет обрабатывать параметры этого раздела. Каждое объявление связывает свой раздел настроек с обработчиком, который будет обрабатывать параметры этого раздела. Обработчик конфигурации – это класс, который реализует интерфейс IConfigurationSectionHandler и интерпретирует различные параметры и значения раздела настроек.
Дополнительная информация. Интерфейс – это вид шаблона .NET. Он включает методы, которые должен содержать реализующий его класс. В этом примере класс, реализующий IConfigurationSectionHandler, должен содержать метод Create().Давайте более внимательно посмотрим на одно из этих объявлений.
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <section name="httpRuntime" type= "System.Web.Configuration.HttpRuntimeConfigurationHandler, System.Web, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Запись name= setting указывает имя, которое будет использоваться при объявлении раздела в настроечном файле. В нашем примере это имя httpRuntime. Запись type = setting указывает обработчик, который будет обрабатывать данный раздел и интерпретировать его значения. В нашем примере обработчиком является класс System.Web.Configuration.HttpRuntimeConfigurationHandler. Запись type = value – это информация GAC, требуемая для нахождения правильного класса.
Дополнительная информация. GAC, или Global Assembly Cache (глобальный кэш сборок) – это метод, используемый .NET Framework для хранения ссылок на различные сборки .NET, которые должны быть доступны нескольким приложениям.Внутри <configSections> объявлены группы разделов. Вы можете видеть, что несколько объявлений объединены в следующую группу разделов.
<sectionGroup name="system.web"> <section name="httpRuntime" type= "System.Web.Configuration.HttpRuntimeConfigurationHandler, System.Web, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <section name="compilation" type= "System.Web.Configuration.CompilationConfigurationHandler, System.Web, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </sectionGroup>
<system.web> <httpRuntime executionTimeout="5000" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> <compilation debug="false" explicit="true" defaultLanguage="vb" strict="false" batch="true" batchTimeout="15" maxBatchSize="1000" maxBatchGeneratedFileSize="3000" numRecompilesBeforeAppRestart="15"> </compilation> </system.web>
<httpRuntime executionTimeout="5000" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" />
Это означает, что разделы httpRuntime и compilation должны располагаться в группе разделов system.web. Обработчики объявлений подробно описаны в лекции 2, а создание собственных обработчиков – в лекции 9.