Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Трассировка. Трассировка на уровне страницы. Трассировка на уровне приложения



Дело в том, что наверняка любой программист при отладке приложений использовал различного вида функции печати данных на экран, чтобы увидеть нужную информацию. Это может быть Response.Write для Web-приложений или Console.WriteLine для консольных приложений. Подобные методы часто являются эффективными, но не всегда удобны. Это связано с тем, что требуется определить место, куда выводить нужную информацию, и иногда отладочные сообщения можно просто забыть удалить. Трассировка позволяет решить эти проблемы.

Рассмотрим простую страницу и включим у нее возможность трассировки. Это делается с помощью директивы @Page и атрибута Trace=true.

TestTrace.aspx

<%@ Page language="c#" Trace=true %>

<html>

<head>

<title>Test Trace</title>

</head>

<body>

Hello World!!!

</body>

</html>

В результате на экране появится следующее окно.

Как видно из этого рисунка, сверху располагается исходная форма, а внизу выдается всякого рода дополнительная информация. Тут есть следующие разделы:

• Request Details — этот раздел содержит информацию о запросе, а именно такие значения, как состояние сессии, идентификатор, кодировку и время запроса;

• Trace Information — этот раздел содержит данные трассировки. Эти данные включают в себя продолжительность обработки определенных событий. По этой информации вы сможете определить, в каком месте необходимо произвести оптимизацию кода с целью повышения эффективности. В этот раздел также возможно добавить свои записи;

• Control Tree — этот раздел содержит дерево элементов управления, которое отображает серверные элементы, а также взаимосвязь между ними. Из этого дерева легко определить, какие из элементов являются родительскими для других элементов;

• Cookies Collection — этот раздел отображает информацию о всех файлах cookies;

• Headers Collection — этот раздел содержит информацию о коллекции заголовков, которая содержит имена и значения параметров, передаваемых в заголовке;

• Server Variables — последний раздел, отображающий имена и значения всех переменных сервера.

Перейдем теперь к добавлению сообщений при трассировке страницы. Для этих целей.NET Framework предлагает специальный класс TraceContext. При создании страницы объект этого класса создается автоматический и имеет имя Trace, через которое можно получать доступ к двум основным методам этого класса:

• Write — печатает информацию в раздел Trace Information. Принимает в качестве параметров строку с информацией и категорию;

• Warn — работает аналогично методу Write, но печатает сообщение в красном цвете, как предупреждение.

Рассмотрим пример, который использует методы Trace для выдачи сообщений.

Это простой пример, который позволяет ввести два числа с клавиатуры и вычислить их сумму. С помощью объекта Trace в начале работы вычислительного метода выдается сообщение о начале вычислений, а в конце — сообщение об их завершении. Если вычисление потерпело неудачу, то программа выдает сообщение об ошибке одного из аргументов. Чтобы посмотреть сразу на два типа сообщений, введите в текстовое поле заведомо неправильное слагаемое, например, несколько букв, и обратите внимание на сообщения в блоке Trace Information, а также на категори, которые соответствуют этим сообщения.

Включение трассировки для страницы

Можно управлять включением или выключение трассировки для отдельных страниц. Если трассировка включена, при запросе страницы ASP.NET присоединяет для страницы серию таблиц, содержащих сведения о выполнении запроса страницы. По умолчанию трассировка отключена.

Включение трассировки для страницы

Включите директиву @ Page в верхнюю часть ASPX-файла.

Добавьте атрибут Trace и установите значение true, как показано в следующем примере:

<%@ Page Trace="true" %>

Примечание о безопасности.

Если для страницы включена трассировка, сведения трассировки отображается во всех обозревателях, запрашивающих эту страницу. Трассировка отображает конфиденциальные сведения, например значения переменных сервера, и следовательно может представлять угрозу для безопасности. Обязательно отключите трассировку перед развертыванием приложения на рабочем сервере. Для этого следует установить для атрибуте Trace значение false или удалить атрибут. Атрибут Trace директивы @_Page имеет преимущество над атрибутами, установленными в элементе trace файла Web.config. Поэтому даже при отключении трассировки в файле Web.config путем установки для атрибута enabled значения false на странице могут по-прежнему отображаются сведения трассировки, если для атрибута Trace в директиве @_Page установлено значение true.

Можно дополнительно включить атрибут TraceMode, чтобы указать порядок, в котором должны отображаться сообщения трассировки:

Установите для параметра TraceMode значение SortByTime для сортировки сообщений трассировки в том порядке, в котором выполняется их обработка.

Установите для параметра TraceMode значение SortByCotegory для сортировки сообщений трассировки по категориям, указанным в вызовах метода TraceContext.Warn и TraceContext.Write на странице или в коде серверного элемента.

В следующем примере показано включение трассировки на странице и сортировка сообщений трассировки по категориям.

<%@ Page Language="VB" Trace="True" TraceMode="SortByCategory" %>

Включение трассировки для приложений

Вместо того, чтобы включать трассировку для отдельных страниц, можно включить ее для всего приложения. В этом случае все страницы приложения отображают сведения трассировки. Трассировка приложения полезна при его разработке, потому что можно легко включать и отключать трассировку при правке отдельных страниц. После завершения приложения трассировку для всех страниц можно выключить одним действием.

При включении трассировки на уровне приложения ASP.NET собирает данные о запросах (число исследуемых запросов не может превышать заданное максимальное число запросов). По умолчанию максимальное число запросов равно 10. Сведения трассировки можно просмотреть с помощью средства просмотра трассировки.

По умолчанию после достижения максимального числа запросов приложение перестает сохранять запросы трассировки. Однако можно настроить трассировку на уровне приложения таким образом, чтобы всегда сохранять самые последние данные трассировки, удаляя старые данные по достижении максимального числа запросов. Дополнительные сведения см. в разделе Application-Level Tracing Overview.

Примечание.

Чтобы отключить трассировку для отдельной страницы приложения, следует присвоить атрибуту Trace в директиве @ Page этой страницы значение false. Любой оператор Write или Warn, включенный в код страницы, хранится и возвращается только средству просмотра трассировки.

Чтобы включить трассировку на уровне приложения

1. Откройте файл Web.config веб-узла. Если файл Web.config не существует, создайте новый файл в корневой папке и скопируйте в него следующее:

<?xml version="1.0"?>

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

<system.web>

</system.web>

</configuration>2. Добавьте элемент trace как дочерний элемент system.web.

3. В элементе trace присвойте атрибуту enabled значение true.

Если требуется отображать сведения трассировки в конце страницы, с которой они связаны, можно присвоить атрибуту trace элемента pageOutput значение true. Если требуется, чтобы информация трассировки выводилась только в средстве просмотра трассировки, присвойте атрибуту pageOutput значение false.

Например, приведенные ниже параметры трассировки приложения позволяют собирать сведения о 40 запросах и просматривать их с помощью обозревателя на удаленных компьютерах. Сведения трассировки не отображаются на отдельных страницах.

<configuration>

<system.web>

<trace enabled="true" pageOutput="false" requestLimit="40" localOnly="false"/>

</system.web>

</configuration>

Примечание.

В конфигурации ASP.NET учитывается регистр.





Дата публикования: 2015-02-03; Прочитано: 452 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...