13.1. Uncovering Page-Level Problems

Problem

You want to find the source of a problem that appears to be associated with a particular page of your application, such as a page that completes its operations more slowly than desired.

Solution

Enable page-level tracing for the page in question by setting the Trace attribute of the @ Page directive in the .aspx file to "true" and then using Trace.Write (or Trace.Warn) statements as warranted in your code-behind to write trace information to the trace output.

Examples 13-1, 13-2 through 13-3 show the code we’ve written to illustrate this solution. Example 13-1 shows the .aspx file for a typical ASP.NET page. The code-behind class for the page appears in Examples 13-2 (VB) and 13-3 (C#). By running the page and analyzing the trace sequence, you can see how long certain key operations are taking. The output with the trace sequence is shown in Figure 13-1.

Discussion

Tracing tracks and presents the execution details about an HTTP request. The TraceContext class is where ASP.NET stores information about an HTTP request and its trace information. You access the TraceContext class through the Page.Trace property of an ASP.NET page. To enable tracing for the page, be sure to set the Trace attribute of the @ Page directive in the .aspx file to "true", as shown in Example 13-1.

The TraceContext class has two methods for writing statements into the trace log: Write and Warn. The only difference is that Warn outputs statements in red so they are easier ...

Get ASP.NET 2.0 Cookbook, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.