InfoCardTraceRecord.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / infocard / Diagnostics / Managed / Microsoft / InfoCards / Diagnostics / InfoCardTraceRecord.cs / 1305376 / InfoCardTraceRecord.cs

                            //------------------------------------------------------------------------------ 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------------------------
namespace Microsoft.InfoCards.Diagnostics
{ 
    using System;
    using System.Xml; 
    using System.Diagnostics; 

    // 
    // Summary
    // An InfoCardTraceRecord represents an ETW tracerecord plus some infocard specific
    // schema information. The class is called back by the diagnostics infrastructure through
    // its WriteTo() method in order to serialize the infocard specific contents into the traceRecord structure. 
    // as part of a tracing request. the TraceRecord base class is repsonsible for embedding the correct headers etc.
    // 
    // Trace records look like this: 

    // 
    //
    //  StoreSignatureCollision
    //  rabbits
    //  http://schemas.microsoft.com/2004/03/System/AppDomain/{2bd64add-212d-4385-9f8e-6d9ab976c182} 
    //  
    //      rabbit%s 
    //   
    //
    // 
    class InfoCardTraceRecord : System.Runtime.Diagnostics.TraceRecord
    {
        //
        // The eventID, a string representation of the traceCode. Normally something like 
        // 'StoreSignatureCollision' - used to derive the trace uri.
        // 
        private string m_eventID; 

        // 
        // A descriptive message about the error schematized as xmlAny
        //
        private string m_message;
 

        const string InfoCardEventIdBase = "http://schemas.microsoft.com/2004/11/InfoCard/"; 
 
        public InfoCardTraceRecord( string eventID, string message )
        { 
            InfoCardTrace.Assert( !String.IsNullOrEmpty( eventID ), "null eventid" );
            InfoCardTrace.Assert( !String.IsNullOrEmpty( message ), "null message" );
            m_eventID = eventID;
            m_message = message; 
        }
 
 
        //
        // Summary: 
        // Returns the unique identifier for this event. Represented as a uri under the stanard e2e logging
        // schema - configured as  +  + 
        // for example
        // "http://schemas.microsoft.com/2004/11/InfoCard/" + "StoreSignatureCollision" + TraceRecord 
        //
        internal override string EventId 
        { 
            get
            { 
                return InfoCardEventIdBase + m_eventID + System.Runtime.Diagnostics.TraceRecord.NamespaceSuffix;
            }
        }
 
        //
        // Summary: 
        // Called back by the indigo diagnostic trace infrastructure during etw trace logging. 
        // Writes the extendedData section out to the TraceRecord.
        // 
        //
        internal override void WriteTo( XmlWriter writer )
        {
            InfoCardTrace.Assert( null != writer, "null writer" ); 
            writer.WriteElementString( "message", m_message );
        } 
 
        //
        // Override tostring to give a better event logging experience. 
        //
        public override string ToString()
        {
            return SR.GetString( SR.EventLogMessage, m_eventID, m_message ); 
        }
    } 
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK