Опубликован: 24.01.2007 | Уровень: специалист | Доступ: платный
Лекция 6:

Настроечные параметры Microsoft .NET

Аннотация: При создании приложений ASP.NET используются несколько разделов, не связанных непосредственно с Microsoft ASP.NET. Таких разделов четыре, и каждый из них служит для настройки различных пространств имен .NET. Их описание приводится в этой лекции.

При создании приложений ASP.NET используются несколько разделов, не связанных непосредственно с Microsoft ASP.NET. Таких разделов четыре, и каждый из них служит для настройки различных пространств имен .NET. Ниже приведено их описание.

  • <system.diagnostics>. Содержит информацию о пространстве имен System.Diagnostics, включая параметры, связанные с трассировкой и переключателями.
  • <system.net>. Содержит разделы, связанные с параметрами прокси, а также параметры, относящиеся к аутентификации и веб-запросам.
  • <system.runtime.remoting>. Содержит параметры для .NET Remoting, включая каналы и клиентские провайдеры. В лекции приведено описание этих параметров, а также способы добавления собственных каналов и провайдеров.
  • <system.windows.forms>. Содержит один параметр, связанный с JIT-компиляцией (Just in Time – во время выполнения).

Изучение раздела <system.diagnostics>

Группа разделов <system.diagnostics> содержит параметры для настройки трассировки и отладки при помощи объектов трассировки System.Diagnostics. Не следует путать трассировку System.Diagnostics с объектом трассировки ASP.NET. Объект трассировки ASP.NET используется в ASP.NET и настраивается в разделе <trace> группы разделов <system.web>. Объекты трассировки и отладки из пространства имен System.Diagnostics используются как ASP.NET, так и консольными приложениями.

Пример из практики. Единственной причиной, по которой в приложениях ASP.NET используется объект трассировки System.Diagnostics, является потребность в сохранении трассировочной информации при развертывании приложения в удаленном журнале событий или базе данных. Если приложение развертывается вами только на своих собственных серверах, для трассировки приложения лучше использовать метод Page.Trace.

В группе <system.diagnostics> содержится несколько разделов, и каждый из них настраивает отдельную часть трассировки или отладки. Имея эти разделы в своих настроечных файлах, вы получаете возможность внесения изменений в способ хранения трассировочной информации без перекомпиляции приложения.

Работа с разделом <trace>

Раздел <trace> используется для настройки приемников трассировки. Приемники трассировки – это объекты, которые принимают и сохраняют трассировочную информацию, передаваемую приложением. Имеется несколько приемников, которые направляют эту информацию в различные хранилища, включая приемники, передающие ее в текстовый файл или в журнал событий. Свойства раздела <trace> приведены в табл. 6.1.

Таблица 6.1. Свойства <trace>
Свойство Описание
autoflush Определяет автоматический сброс содержимого трассировки приемником трассировки каждый раз при записи информации в объект трассировки.

true Вывод трассировки сбрасывается автоматически.

false Вывод трассировки не сбрасывается автоматически – для сброса требуется вызов метода Trace.Flush.

indentsize Определяет количество пробелов для создания отступов текста трассировки при вызове метода Trace.Indent.

Ниже показан пример раздела <trace>.

<system.diagnostics>
  <trace autoflush="true" indentsize="2" />
</system.diagnostics>

В этом примере трассировочная информация автоматически сбрасывается после каждой записи.

Использование подраздела <listeners>

Подраздел <listeners> – это раздел, основанный на коллекции, то есть в него можно добавлять или удалять приемники трассировки. Он позволяет изменять место отправки трассировочной информации без изменения кода и перекомпилирования приложения. Ниже приведен синтаксис подраздела <listeners>.

<trace>
  <listeners>
    <add name="ListenerName" type="ListenerClass"
      initializeData="option" />
    <remove name="ListenerName" />
  </listeners>
</trace>

В таблице 6.2 приведен перечень свойств элемента <add>.

Таблица 6.2. Свойства <add>
Свойство Описание
name Определяет имя приемника.
type Определяет имя класса, версию, культуру и открытый ключ класса приемника.
initializeData Определяет параметр, передаваемый в класс приемника при его инициализации.

Ниже показан пример добавления приемника трассировки в раздел <listeners>.

<trace autoflush="false" indent="2">
  <listeners>
    <add name="CustomListener"
      type="System.Diagnostics.EventLogTraceListener"
      initializeData="EventLogName" />
  </listener>
</trace>

В примере добавляется приемник трассировки с именем CustomListener, который записывает весь текст из объекта трассировки, а затем сохраняет информацию в журнале событий с именем EventLogName.

Работа с разделом <switches>

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

  • Логические переключатели. Принимают значение 1 или 0 ; они определяют необходимость в записи чего-либо.
  • Переключатели трассировки. Содержат параметры, определяющие различные уровни трассировочной информации.

Оба типа переключателей одинаковым образом добавляются в раздел <switches>. Ниже приведен синтаксис добавления переключателя в раздел <switches>.

<system.diagnostics>
  <switches>
    <add name="SwitchName" value="SwitchValue" />
  </switches>
</system.diagnostics>

Свойства элемента <add> перечислены в табл. 6.3.

Таблица 6.3. Свойства <add>
Свойство Описание
name Определяет имя переключателя в коде для указания на этот переключатель.
value Определяет значение, используемое для определения типа выводимой трассировочной информации.
Геннадий Щербаков
Геннадий Щербаков

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