Опубликован: 24.01.2007 | Доступ: свободный | Студентов: 1253 / 82 | Оценка: 4.37 / 4.17 | Длительность: 14:27:00
ISBN: 978-5-94774-627-3
Лекция 1:

Обзор настройки Microsoft ASP.NET

Лекция 1: 123 || Лекция 2 >
Объявление обработчика раздела конфигурации

Первым в настроечных файлах идет раздел <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= ... указывает имя, которое будет использоваться при объявлении раздела в настроечном файле. В нашем примере это имя httpRuntime. Запись type = ... указывает обработчик, который будет обрабатывать данный раздел и интерпретировать его значения. В нашем примере обработчиком является класс System.Web.Configuration.HttpRuntimeConfigurationHandler. Запись type = ... – это информация 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. Обработчики объявлений подробно описаны в "Изучение архитектуры настроек ASP.NET" , а создание собственных обработчиков – в "Создание собственных параметров" .

Группы разделов

Как показано в разделе объявлений, различные разделы настроек могут объединяться в группы с целью группировки и логичной организации параметров. Это значительно облегчает чтение и понимание всего разнообразия разделов параметров. Ниже приведен пример такой группировки.

<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 и compilation объединены в группу разделов system.web.

Разделы настроек

Разделы настроек – это основа настроечных файлов; в них задаются все настроечные параметры. Эти разделы используют имя, объявленное при объявлении обработчика раздела, и могут содержать несколько настроек, значений и подразделов. Вот раздел настроек из примера файла machine.config.

<httpRuntime executionTimeout="5000" maxRequestLength="4096" 
useFullyQualifiedRedirectUrl="false" minFreeThreads="8" 
minLocalRequestFreeThreads="4" appRequestQueueLimit="100" />

Этот раздел объединяет несколько различных параметров, таких как executionTimeout и maxRequestLength, связанных со средой выполнения HTTP. Данные параметры обрабатываются одним и тем же обработчиком настроек, указанным в области объявлений обработчиков. Имя раздела всегда представлено в "верблюжьей" нотации.

Подразделы

Разделы могут содержать подразделы. Подраздел – это параметр, который допускает использование нескольких значений. Подразделы являются частью родительского раздела и обрабатываются тем же обработчиком настроек. Этот пример раздела compilation содержит несколько различных подразделов.

<compilation debug="false" explicit="true" defaultLanguage="vb"
    strict="false" batch="true" batchTimeout="15"
    maxBatchSize="1000" maxBatchGeneratedFileSize="3000"
    numRecompilesBeforeAppRestart="15">
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs"
        type="Microsoft.CSharp.CSharpCodeProvider, System,
        Version=1.0.3300.0, Culture=neutral,
        PublicKeyToken=b77a5c561934e089" warningLevel="1" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=
        ".vb" type="Microsoft.VisualBasic.VBCodeProvider,
        System, Version=1.0.3300.0, Culture=neutral,
        PublicKeyToken=b77a5c561934e089" />
      <compiler language="js;jscript;javascript" extension=".js"
        type="Microsoft.JScript.JScriptCodeProvider,
        Microsoft.JScript, Version=7.0.3300.0, Culture=neutral,
        PublicKeyToken=b03f5f7f11d50a3a" />
    </compilers>
  </compilation>

  <compilation debug="false" />

Именем раздела является compilation, он содержит подраздел compilers с несколькими подразделами compiler. Раздел может содержать неограниченное количество подразделов. Имена подразделов должны следовать "верблюжьей" нотации.

Параметры

Параметры конфигурации находятся либо в разделах, либо в подразделах и включают имя параметра, за которым следует знак равенства и значение, заключенное в кавычки, например:

<compilation debug="false" />

Имя раздела настроек – compilation, имя параметра – debug, а значение этого параметра устанавливается в логическое значение False (ложь).

Имена параметров почти всегда следуют "верблюжьей нотации". Значения обычно используют соглашение об именах Паскаля, но имеется пара исключений. Слова true (истина) и false (ложь) всегда пишутся строчными буквами. Значение параметра также может быть символьной строкой, такой как строка подключения к базе данных, и в этом случае оно не следует никакому стандарту на использование регистра.

Лекция 1: 123 || Лекция 2 >
Геннадий Щербаков
Геннадий Щербаков

В начале года получил код dreamspark  H4RQ9-QJ6FD-YJWJT-P6FVF-HGXQZ. При  его вводе- сообщение что он просрочен.