10.4. Uncovering Problems Within Web Application Components

Problem

You want to identify problems within a component of your web application, but your attempts to do so don’t seem to work. When you make a call to Trace.Write in the business object, either you get a compilation error or the debugger jumps right over the call and no output ever appears in the trace sequence.

Solution

Import the System.Web namespace and reference the current HTTP context when performing a Trace.Write from within the component.

In the component class, use the .NET language of your choice to:

  1. Import the System.Web namespace.

  2. Reference the current HTTP context when performing a Trace.Write, as in HTTPContext.Current.Trace.Write.

The sample component we’ve written to illustrate this solution appears in Example 10-7 (VB) and Example 10-8 (C#). Example 10-9 shows the .aspx file used to test the sample component. The code-behind for the test page appears in Example 10-10 (VB) and Example 10-11 (C#). Figure 10-4 shows some sample output, including the resulting trace sequence.

Trace sequence from testing the component

Figure 10-4. Trace sequence from testing the component

Discussion

In order for Trace.Write to work from within a component, you must be able to access the context for the current HTTP request. The easiest way to accomplish this is to import the System.Web namespace and access the HTTPContext.Current property from within the component.

Tip

If a component ...

Get ASP.NET Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.