ASP.NET trace как один из инструментов отладки.
Понятно, что производить отладку веб страниц в ASP.NET можно с помощью дебагера в VS. Для этого нужно присоединить процесс w3wp.exe и расставить точки прерывания (breakpoints).
Но есть еще один способ проследить ход загрузки страницы - с помощью trace функциональности. Этот метод позволяет также проследить узкие места в производительности сайта (profiling).
Состав информации trace.
В блок trace входит:
- Request Details - основная информация о запросе.
- Trace Information - время выполнения основных событий страницы.
- Control Tree - дерево созданных блоков страницы с основной информацией.
- Session State - состояние переменной Session.
- Application State - состояние переменной Application.
- Request Cookies Collection - список полученных cookies.
- Response Cookies Collection - список созданных cookies.
- Headers Collection - информация о заголовках.
- Form Collection - информация о посылаемой форме.
- Querystring Collection - информация о строке запроса.
- Server Variables - состояние переменной Server.
Конфигурация
Для настройки trace достаточно добавить следущий блок в web.config файл:
<!– APPLICATION-LEVEL TRACE LOGGING
Application-level tracing enables trace log output for every page within an application.
Set trace enabled=”true” to enable application trace logging. If pageOutput=”true”, the
trace information will be displayed at the bottom of each page. Otherwise, you can view the
application trace log by browsing the “trace.axd” page from your web application
root.
–>
<trace
enabled=“true”
requestLimit=“10″
pageOutput=“false”
traceMode=“SortByTime”
localOnly=“true”
/>
где:
- Enabled - Включить или выключить trace.
- PageOutput - Если значение этого параметра равно “true” содержимое trace будет писаться в конец страницы. Если “false” - весь trace будет писаться в специальный файл - http://<ApplicationName>/trace.axd.
- RequestLimit – Определяет количество запросов, которые нужно хранить для Trace.axd файла.
- TraceMode - указывает, как нужно сортировать содержимое trace, возможные значения: SortByTime - по времени, SortByCategory - по категории сообщения (warn или write).
- LocalOnly - ограничивает доступ к данным диагностики от загрузки с других машин.
Есть также возможность отладки только одной страницы, для этого нужно добавить trace=”true” в тег @Page
<% @Page language=“C#” debug=“true” trace=“true” %>
или непосредственно в код страницы:
Trace.IsEnabled = True
Собственные сообщения в трейс.
Разработчик может писать собственные сообщения в trace. Для этого нужно использовать объект Trace в классе Page.
protected void Page_Load ( ) {
Trace.Write (“category”, “Example trace” );
}
Немного о файле Trace.axd
Trace.axd - это файл создается автоматически. Сюда сохраняется история запросов с соответствующими параметрами. Этот файл хранит список последних запросов к приложению. Страница деталей имеет тот-же вид, что и Trace на основе страницы.
URL файла - http://<ApplicationName>/trace.axd.
12 августа 2008 в 14:12