13.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, you get a compilation error or the debugger jumps right over the call and no output 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,asin HTTPContext.Current.Trace.Write.

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

Discussion

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 is not part of your web application, you will need to add a reference to the System.Web.dll assembly in your project. You do this in Visual Studio by selecting the project containing the ...

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.