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:
Import the
System.Web
namespace.Reference the current HTTP context when performing a
Trace.Write
, as inHTTPContext.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.
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.