Tracing in ASP.NET
Introduction
[MSDN Definition] ASP.NET tracing enables
you to view diagnostic information about a single request for an ASP.NET page.
ASP.NET tracing enables you to follow a page's execution path, display
diagnostic information at run time, and debug your application. ASP.NET tracing
can be integrated with system-level tracing to provide multiple levels of
tracing output in distributed and multi-tier applications.
There
are two ways:
(i)
Page Level Tracing
(ii)
Application Level Tracing
Page
Level Tracing
We can
control whether tracing is enabled or disabled for individual pages. If tracing
is enabled, when the page is requested, ASP.NET appends to the page a series of
tables containing execution details about the page request. Tracing is disabled
by default in ASP.NET application.
To
enable Page Level Tracing follow the steps:
i)
Include Trace="true" in <%@ Page Title="" Language="C#"...%> directive, for example:
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master"
AutoEventWireup="true" CodeFile="Default.aspx.cs"Inherits="chat_Default"
Trace="true"%>
Look at the above code, I’ll be using Trace=true at the end.
ii)
Optionally, we can use TraceMode attribute in above <%@ Page Title="" Language="C#"...%> directive,
for example:
SortByCategory: Set TraceMode to
SortByTime to sort trace messages in the order in which they are processed.
SortByTime: Set TraceMode to
SortByCategory to sort trace messages by the categories.
iii)
Now press F5 to run the application, you will see the immediate trace record on
existing page where you have settled Trace and TraceMode.
You can
see the traced record in Trace Viewer as well; will learn this in ‘Application
Level Tracing’.
Application
Level Tracing
Instead
of enabling tracing for individual pages, you can enable it for your entire
application. In that case, every page in your application displays trace
information. Application tracing is useful when you are developing an
application because you can easily enable it and disable it without editing
individual pages. When your application is complete, you can turn off tracing
for all pages at once.
When you
enable tracing for an application, ASP.NET collects trace information for each
request to the application, up to the maximum number of requests you specify.
The default number of requests is 10. You can view trace information with the
trace viewer.
By
default, when the trace viewer reaches its request limit, the application stops
storing trace requests. However, you can configure application-level tracing to
always store the most recent tracing data, discarding the oldest data when the
maximum number of requests is reached.
To
enable Application Level Tracing follow the steps:
i)
Delete your Page Level Tracking for better result.
ii)
Open the Web.config file and add following information to it, if no any
Web.config file available then adds a new one on the root.
:::::::::::::::::
<system.web>
<trace enabled="true" pageOutput="true" requestLimit="40" localOnly="false"/>
</system.web>
</configuration>
iii)
Above code has many attributes used, find the details information about them
below.
Enabled:
Set it true to enable tracing for the application; otherwise, false. The
default is false. You can override this setting for individual pages by setting
the Trace attribute in the @ Page directive of a page to true or false.
PageOutput:
Set it true to display trace both in pages and in the trace viewer (trace.axd);
otherwise, false. The default is false.
RequestLimit:
The number of trace requests to store on the server. The default is 10.
LocalOnly:
Set it true to make the trace viewer (trace.axd) available only on the host Web
server; otherwise, false. The default is true.
What is
trace.axd?
Simply,
it is a viewer which has some features which displays the traced information
for us. This file is not soo necessary when you use PageOutput to true. To add
this file in application simple navigate to add new file and name it to
trace.axd, it will automatically add required codes for the viewer.
To read
above traced information you need to learn more. Please read this.
Comments
Post a Comment