TraceContextEventArgs.TraceRecords Property

 

Gets a collection of TraceContextRecord messages that are associated with the current request.

Namespace:   System.Web
Assembly:  System.Web (in System.Web.dll)

public ICollection TraceRecords { get; }

Property Value

Type: System.Collections.ICollection

A collection of trace records that are associated with the current request.

Every call to the TraceContext.Write and TraceContext.Warn methods generates a TraceContextRecord object that is added to the TraceRecords messages collection. The Warn method call sets the IsWarning property to true, while the other method calls set it to false.

You can iterate through the TraceRecords messages and examine records with specific categories or messages, and whether they are warnings.

The following code example demonstrates how you can register a TraceContextEventHandler delegate to handle the TraceFinished event. In this example, the OnTraceFinished method accesses the collection of TraceContextRecord objects through the TraceRecords property, iterates through them, and writes them to the response stream.

<%@ Page language="c#" Trace="true" %>
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
    // Register a handler for the TraceFinished event.
    Trace.TraceFinished += new 
        TraceContextEventHandler(this.OnTraceFinished);

    // Write a trace message.
    Trace.Write("Web Forms Infrastructure Methods", "USERMESSAGE: Page_Load complete.");
}

// A TraceContextEventHandler for the TraceFinished event.
void OnTraceFinished(object sender, TraceContextEventArgs e)
{
    TraceContextRecord r = null;    

    // Iterate through the collection of trace records and write 
    // them to the response stream.
    foreach(object o in e.TraceRecords)
    {
        r = (TraceContextRecord)o;
        Response.Write(String.Format("trace message: {0} <BR>", r.Message));
    }
}       
</script>

.NET Framework
Available since 2.0
Return to top
Show: