При создании приложений ASP.NET используются несколько разделов, не связанных непосредственно с Microsoft ASP.NET. Таких разделов четыре, и каждый из них служит для настройки различных пространств имен .NET. Ниже приведено их описание.
Группа разделов <system.diagnostics> содержит параметры для настройки трассировки и отладки при помощи объектов трассировки System.Diagnostics. Не следует путать трассировку System.Diagnostics с объектом трассировки ASP.NET. Объект трассировки ASP.NET используется в ASP.NET и настраивается в разделе <trace> группы разделов <system.web>. Объекты трассировки и отладки из пространства имен System.Diagnostics используются как ASP.NET, так и консольными приложениями.
В группе <system.diagnostics> содержится несколько разделов, и каждый из них настраивает отдельную часть трассировки или отладки. Имея эти разделы в своих настроечных файлах, вы получаете возможность внесения изменений в способ хранения трассировочной информации без перекомпиляции приложения.
Раздел <trace> используется для настройки приемников трассировки. Приемники трассировки – это объекты, которые принимают и сохраняют трассировочную информацию, передаваемую приложением. Имеется несколько приемников, которые направляют эту информацию в различные хранилища, включая приемники, передающие ее в текстовый файл или в журнал событий. Свойства раздела <trace> приведены в табл. 6.1.
Ниже показан пример раздела <trace>.
<system.diagnostics> <trace autoflush="true" indentsize="2" /> </system.diagnostics>
В этом примере трассировочная информация автоматически сбрасывается после каждой записи.
Подраздел <listeners> – это раздел, основанный на коллекции, то есть в него можно добавлять или удалять приемники трассировки. Он позволяет изменять место отправки трассировочной информации без изменения кода и перекомпилирования приложения. Ниже приведен синтаксис подраздела <listeners>.
<trace> <listeners> <add name="ListenerName" type="ListenerClass" initializeData="option" /> <remove name="ListenerName" /> </listeners> </trace>
В таблице 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>. Ниже приведен синтаксис добавления переключателя в раздел <switches>.
<system.diagnostics> <switches> <add name="SwitchName" value="SwitchValue" /> </switches> </system.diagnostics>
Свойства элемента <add> перечислены в табл. 6.3.