Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / TransactionBridge / Microsoft / Transactions / Wsat / Protocol / DiagnosticTraceRecords.cs / 1 / DiagnosticTraceRecords.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- // This file implements the trace records published by WS-AT using System; using System.ServiceModel.Channels; using System.Diagnostics; using System.Runtime.Serialization; using System.ServiceModel; using System.Xml; using Microsoft.Transactions.Bridge; using Microsoft.Transactions.Wsat.Messaging; using System.ServiceModel.Diagnostics; using DiagnosticUtility = Microsoft.Transactions.Bridge.DiagnosticUtility; namespace Microsoft.Transactions.Wsat.Protocol { // // Common definitions // enum TransactionOutcome { Committed, Aborted, InDoubt } // // WS-AT protocol service trace records // static class TransactionTraceRecord { public static void SerializeRecord(XmlWriter xmlWriter, object o) { DataContractSerializer serializer = new DataContractSerializer(o.GetType()); serializer.WriteObject(xmlWriter, o); } } // Critical static class UnhandledStateMachineExceptionRecord { public static void TraceAndLog( Guid enlistmentId, string transactionId, string stateMachineName, string currentState, StateMachineHistory history, /* optional */ Exception e) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Critical, EventLogCategory.StateMachine, EventLogEventId.UnhandledStateMachineExceptionRecordDescription, transactionId, stateMachineName, currentState, history == null ? string.Empty : history.ToString(), enlistmentId.ToString(), e.ToString()); } } static class FatalUnexpectedStateMachineEventRecord { public static void TraceAndLog( Guid enlistmentId, string transactionId, string stateMachineName, string currentState, StateMachineHistory history, /* optional */ string eventName, string eventDetails /* optional */ ) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Critical, EventLogCategory.StateMachine, EventLogEventId.FatalUnexpectedStateMachineEvent, transactionId, stateMachineName, currentState, history == null ? string.Empty : history.ToString(), eventName, string.IsNullOrEmpty(eventDetails) ? string.Empty : eventDetails); } } static class ParticipantRecoveryLogEntryCorruptRecord { public static void TraceAndLog( Guid localTransactionId, string transactionId, byte[] recoveryData /* optional */, Exception e ) { using (Activity.CreateActivity(localTransactionId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Critical, EventLogCategory.StateMachine, EventLogEventId.ParticipantRecoveryLogEntryCorrupt, transactionId, Convert.ToBase64String(recoveryData), e.ToString()); } } } static class CoordinatorRecoveryLogEntryCorruptRecord { public static void TraceAndLog( Guid localTransactionId, string transactionId, byte[] recoveryData /* optional */, Exception e ) { using (Activity.CreateActivity(localTransactionId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Critical, EventLogCategory.StateMachine, EventLogEventId.CoordinatorRecoveryLogEntryCorrupt, transactionId, Convert.ToBase64String(recoveryData), e.ToString()); } } } static class TransactionBridgeRecoveryFailureRecord { public static void TraceAndLog(Exception e) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Critical, EventLogCategory.Wsat, EventLogEventId.TransactionBridgeRecoveryFailure, e.ToString()); } } // Error static class CoordinatorRecoveryLogEntryCreationFailureRecord { public static void TraceAndLog(Guid enlistmentId, string transactionId, string reason, Exception e) { using (Activity.CreateActivity(enlistmentId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Error, EventLogCategory.StateMachine, EventLogEventId.CoordinatorRecoveryLogEntryCreationFailure, transactionId, reason, e.ToString()); } } } static class ParticipantRecoveryLogEntryCreationFailureRecord { public static void TraceAndLog(Guid enlistmentId, string transactionId, string reason, Exception e) { using (Activity.CreateActivity(enlistmentId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Error, EventLogCategory.StateMachine, EventLogEventId.ParticipantRecoveryLogEntryCreationFailure, transactionId, enlistmentId.ToString(), reason, e.ToString()); } } } static class ProtocolInitializationFailureRecord { public static void TraceAndLog(Guid protocolId, string protocolName, Exception e) { using (Activity.CreateActivity(protocolId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Error, EventLogCategory.Wsat, EventLogEventId.ProtocolInitializationFailure, protocolId.ToString(), protocolName, e.ToString()); } } } static class ProtocolStartFailureRecord { public static void TraceAndLog(Guid protocolId, string protocolName, Exception e) { using (Activity.CreateActivity(protocolId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Error, EventLogCategory.Wsat, EventLogEventId.ProtocolStartFailure, protocolId.ToString(), protocolName, e.ToString()); } } } static class ProtocolRecoveryCompleteFailureRecord { public static void TraceAndLog(Guid protocolId, string protocolName, Exception e) { using (Activity.CreateActivity(protocolId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Error, EventLogCategory.Wsat, EventLogEventId.ProtocolRecoveryCompleteFailure, protocolId.ToString(), protocolName, e.ToString()); } } } static class ProtocolRecoveryBeginningFailureRecord { public static void TraceAndLog(Guid protocolId, string protocolName, Exception e) { using (Activity.CreateActivity(protocolId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Error, EventLogCategory.Wsat, EventLogEventId.ProtocolRecoveryBeginningFailure, protocolId.ToString(), protocolName, e.ToString()); } } } static class ProtocolStopFailureRecord { public static void TraceAndLog(Guid protocolId, string protocolName, Exception e) { using (Activity.CreateActivity(protocolId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Error, EventLogCategory.Wsat, EventLogEventId.ProtocolStopFailure, protocolId.ToString(), protocolName, e.ToString()); } } } // Warning static class NonFatalUnexpectedStateMachineEventRecord { public static void TraceAndLog( Guid enlistmentId, string transactionId, string stateMachine, string currentState, StateMachineHistory history, /* optional */ string eventName, string eventDetails /* optional */ ) { using (Activity.CreateActivity(enlistmentId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Warning, EventLogCategory.StateMachine, EventLogEventId.NonFatalUnexpectedStateMachineEvent, transactionId, stateMachine, currentState, history == null ? string.Empty : history.ToString(), eventName, string.IsNullOrEmpty(eventDetails) ? string.Empty : eventDetails); } } } static class PerformanceCounterInitializationFailureRecord { public static void TraceAndLog(Guid protocolId, string counterName, Exception e) { using (Activity.CreateActivity(protocolId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Warning, EventLogCategory.PerformanceCounter, EventLogEventId.PerformanceCounterInitializationFailure, counterName, e.ToString()); } } } static class CreateTransactionFailureRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceWarning; } } public static void Trace(Guid enlistmentId, string reason) { ReasonRecordSchema record = new ReasonRecordSchema(reason); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Warning, TraceCode.CreateTransactionFailure, SR.GetString(SR.CreateTransactionFailure), record, null, enlistmentId, null); } } static class EnlistTransactionFailureRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceWarning; } } public static void Trace(Guid enlistmentId, CoordinationContext context, string reason) { ReasonRecordSchema record = new ReasonRecordSchema(reason); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Warning, TraceCode.EnlistTransactionFailure, SR.GetString(SR.EnlistTransactionFailure), record, null, enlistmentId, null); } } static class RegisterParticipantFailureRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceWarning; } } public static void Trace( Guid enlistmentId, string transactionId, ControlProtocol protocol, EndpointAddress protocolService, string reason, ProtocolVersion protocolVersion ) { RegisterFailureRecordSchema record = RegisterFailureRecordSchema.Instance( transactionId, protocol, protocolService, reason, protocolVersion); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Warning, GetCode(protocolVersion), SR.GetString(SR.RegisterParticipantFailure), record, null, enlistmentId, null); } static Type type = typeof(RegisterParticipantFailureRecord); static TraceCode GetCode(ProtocolVersion protocolVersion) { ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, type, "GetCode"); switch (protocolVersion) { case ProtocolVersion.Version10 : return TraceCode.RegisterParticipantFailure; case ProtocolVersion.Version11 : return TraceCode.RegisterParticipantFailure11; default: return 0; // inaccessible path because we have asserted the protocol version } } } static class VolatileOutcomeTimeoutRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceWarning; } } public static void Trace( Guid enlistmentId, string transactionId, TransactionOutcome outcome, TimeSpan timeout ) { EnlistmentTimeoutRecordSchema record = new EnlistmentTimeoutRecordSchema( transactionId, enlistmentId, outcome, timeout); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Warning, TraceCode.VolatileOutcomeTimeout, SR.GetString(SR.VolatileOutcomeTimeout), record, null, enlistmentId, null); } } static class VolatileParticipantInDoubtRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceWarning; } } public static void Trace(Guid enlistmentId, EndpointAddress replyTo /* optional */, ProtocolVersion protocolVersion ) { VolatileEnlistmentInDoubtRecordSchema record = VolatileEnlistmentInDoubtRecordSchema.Instance( enlistmentId, replyTo, protocolVersion); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Warning, GetCode(protocolVersion), SR.GetString(SR.VolatileParticipantInDoubt), record, null, enlistmentId, null); } static Type type = typeof(VolatileParticipantInDoubtRecord); static TraceCode GetCode(ProtocolVersion protocolVersion) { ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, type, "GetCode"); switch (protocolVersion) { case ProtocolVersion.Version10 : return TraceCode.VolatileParticipantInDoubt; case ProtocolVersion.Version11 : return TraceCode.VolatileParticipantInDoubt11; default: return 0; // inaccessible path because we have asserted the protocol version } } } static class DurableParticipantReplayWhilePreparingRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceWarning; } } public static void Trace(Guid enlistmentId, string transactionId) { EnlistmentRecordSchema record = new EnlistmentRecordSchema(transactionId, enlistmentId); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Warning, TraceCode.DurableParticipantReplayWhilePreparing, SR.GetString(SR.DurableParticipantReplayWhilePreparing), record, null, enlistmentId, null); } } static class RegistrationCoordinatorFaultedRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceWarning; } } public static void Trace( Guid enlistmentId, CoordinationContext context, ControlProtocol protocol, MessageFault fault ) { RegistrationCoordinatorFaultedSchema record = new RegistrationCoordinatorFaultedSchema( context, protocol, fault); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Warning, TraceCode.RegistrationCoordinatorFaulted, SR.GetString(SR.RegistrationCoordinatorFaulted), record, null, enlistmentId, null); } } static class RegistrationCoordinatorFailedRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceWarning; } } public static void Trace( Guid enlistmentId, CoordinationContext context, ControlProtocol protocol, Exception e ) { RegistrationCoordinatorFailedSchema record = new RegistrationCoordinatorFailedSchema( context, protocol); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Warning, TraceCode.RegistrationCoordinatorFailed, SR.GetString(SR.RegistrationCoordinatorFailed), record, null, enlistmentId, null); } } static class RegistrationCoordinatorResponseInvalidMetadataRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceWarning; } } public static void Trace( Guid enlistmentId, CoordinationContext context, ControlProtocol protocol, EndpointAddress coordinatorService, Exception e /* optional */, ProtocolVersion protocolVersion ) { RegistrationCoordinatorResponseInvalidMetadataSchema record = RegistrationCoordinatorResponseInvalidMetadataSchema.Instance( context, protocol, coordinatorService, protocolVersion); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Warning, GetCode(protocolVersion), SR.GetString(SR.RegistrationCoordinatorResponseInvalidMetadata), record, e, enlistmentId, null); } static Type type = typeof(RegistrationCoordinatorResponseInvalidMetadataRecord); static TraceCode GetCode(ProtocolVersion protocolVersion) { ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, type, "GetCode"); switch (protocolVersion) { case ProtocolVersion.Version10 : return TraceCode.RegistrationCoordinatorResponseInvalidMetadata; case ProtocolVersion.Version11 : return TraceCode.RegistrationCoordinatorResponseInvalidMetadata11; default: return 0; // inaccessible path because we have asserted the protocol version } } } static class RecoveredCoordinatorInvalidMetadataRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceWarning; } } public static void Trace( Guid enlistmentId, string transactionId, EndpointAddress coordinatorService, ProtocolVersion protocolVersion ) { RecoverCoordinatorRecordSchema record = RecoverCoordinatorRecordSchema.Instance( transactionId, coordinatorService, protocolVersion); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Warning, GetCode(protocolVersion), SR.GetString(SR.RecoveredCoordinatorInvalidMetadata), record, null, enlistmentId, null); } static Type type = typeof(RecoveredCoordinatorInvalidMetadataRecord); static TraceCode GetCode(ProtocolVersion protocolVersion) { ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, type, "GetCode"); switch (protocolVersion) { case ProtocolVersion.Version10 : return TraceCode.RecoveredCoordinatorInvalidMetadata; case ProtocolVersion.Version11 : return TraceCode.RecoveredCoordinatorInvalidMetadata11; default: return 0; // inaccessible path because we have asserted the protocol version } } } static class RecoveredParticipantInvalidMetadataRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceWarning; } } public static void Trace( Guid enlistmentId, string transactionId, EndpointAddress participantService, ProtocolVersion protocolVersion ) { RecoverParticipantRecordSchema record = RecoverParticipantRecordSchema.Instance( transactionId, enlistmentId, participantService, protocolVersion); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Warning, GetCode(protocolVersion), SR.GetString(SR.RecoveredParticipantInvalidMetadata), record, null, enlistmentId, null); } static Type type = typeof(RecoveredParticipantInvalidMetadataRecord); static TraceCode GetCode(ProtocolVersion protocolVersion) { ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, type, "GetCode"); switch (protocolVersion) { case ProtocolVersion.Version10 : return TraceCode.RecoveredParticipantInvalidMetadata; case ProtocolVersion.Version11 : return TraceCode.RecoveredParticipantInvalidMetadata11; default: return 0; // inaccessible path because we have asserted the protocol version } } } // Information static class EnlistTransactionRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace(Guid enlistmentId, CoordinationContext context) { CoordinationContextRecordSchema record = new CoordinationContextRecordSchema(context); if (DiagnosticUtility.ShouldTraceInformation) { DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, TraceCode.EnlistTransaction, SR.GetString(SR.EnlistTransaction), record, null, enlistmentId, null); } } } static class RegisterCoordinatorRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace( Guid enlistmentId, CoordinationContext context, ControlProtocol protocol, EndpointAddress coordinatorService, ProtocolVersion protocolVersion ) { RegisterCoordinatorRecordSchema record = RegisterCoordinatorRecordSchema.Instance( context, protocol, coordinatorService, protocolVersion); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, GetCode(protocolVersion), SR.GetString(SR.RegisterCoordinator), record, null, enlistmentId, null); } static Type type = typeof(RegisterCoordinatorRecord); static TraceCode GetCode(ProtocolVersion protocolVersion) { ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, type, "GetCode"); switch (protocolVersion) { case ProtocolVersion.Version10 : return TraceCode.RegisterCoordinator; case ProtocolVersion.Version11 : return TraceCode.RegisterCoordinator11; default: return 0; // inaccessible path because we have asserted the protocol version } } } static class RegisterParticipantRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace( Guid enlistmentId, string transactionId, ControlProtocol protocol, EndpointAddress participantService, ProtocolVersion protocolVersion ) { RegisterParticipantRecordSchema record = RegisterParticipantRecordSchema.Instance( transactionId, enlistmentId, protocol, participantService, protocolVersion); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, GetCode(protocolVersion), SR.GetString(SR.RegisterParticipant), record, null, enlistmentId, null); } static Type type = typeof(RegisterParticipantRecord); static TraceCode GetCode(ProtocolVersion protocolVersion) { ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, type, "GetCode"); switch (protocolVersion) { case ProtocolVersion.Version10 : return TraceCode.RegisterParticipant; case ProtocolVersion.Version11 : return TraceCode.RegisterParticipant11; default: return 0; // inaccessible path because we have asserted the protocol version } } } static class ProtocolInitializedRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace(Guid protocolId, string protocolName) { ProtocolServiceRecordSchema record = new ProtocolServiceRecordSchema(protocolName, protocolId); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, TraceCode.ProtocolInitialized, SR.GetString(SR.ProtocolInitialized), record, null, protocolId, null); } } static class ProtocolStartedRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace(Guid protocolId, string protocolName) { ProtocolServiceRecordSchema record = new ProtocolServiceRecordSchema(protocolName, protocolId); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, TraceCode.ProtocolStarted, SR.GetString(SR.ProtocolStarted), record, null, protocolId, null); } } static class ProtocolRecoveryCompleteRecord { public static void TraceAndLog(Guid protocolId, string protocolName) { using (Activity.CreateActivity(protocolId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Information, EventLogCategory.Wsat, EventLogEventId.ProtocolRecoveryComplete, protocolId.ToString(), protocolName); } } } static class ProtocolStoppedRecord { public static void TraceAndLog(Guid protocolId, string protocolName) { using (Activity.CreateActivity(protocolId)) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Information, EventLogCategory.Wsat, EventLogEventId.ProtocolStopped, protocolId.ToString(), protocolName); } } } static class PrepareMessageRetryRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace(Guid enlistmentId, string transactionId, int count) { ParticipantRetryMessageRecordSchema record = new ParticipantRetryMessageRecordSchema( transactionId, enlistmentId, count); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, TraceCode.PrepareMessageRetry, SR.GetString(SR.PrepareMessageRetry), record, null, enlistmentId, null); } } static class CommitMessageRetryRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace(Guid enlistmentId, string transactionId, int count) { ParticipantRetryMessageRecordSchema record = new ParticipantRetryMessageRecordSchema( transactionId, enlistmentId, count); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, TraceCode.CommitMessageRetry, SR.GetString(SR.CommitMessageRetry), record, null, enlistmentId, null); } } static class PreparedMessageRetryRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace(Guid enlistmentId, string transactionId, int count) { CoordinatorRetryMessageRecordSchema record = new CoordinatorRetryMessageRecordSchema( transactionId, count); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, TraceCode.PreparedMessageRetry, SR.GetString(SR.PreparedMessageRetry), record, null, enlistmentId, null); } } static class ReplayMessageRetryRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace(Guid enlistmentId, string transactionId, int count) { CoordinatorRetryMessageRecordSchema record = new CoordinatorRetryMessageRecordSchema( transactionId, count); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, TraceCode.ReplayMessageRetry, SR.GetString(SR.ReplayMessageRetry), record, null, enlistmentId, null); } } static class ParticipantRecoveredRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace( Guid enlistmentId, string transactionId, EndpointAddress protocolService, ProtocolVersion protocolVersion ) { RecoverParticipantRecordSchema record = RecoverParticipantRecordSchema.Instance( transactionId, enlistmentId, protocolService, protocolVersion); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, GetCode(protocolVersion), SR.GetString(SR.ParticipantRecovered), record, null, enlistmentId, null); } static Type type = typeof(ParticipantRecoveredRecord); static TraceCode GetCode(ProtocolVersion protocolVersion) { ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, type, "GetCode"); switch (protocolVersion) { case ProtocolVersion.Version10 : return TraceCode.ParticipantRecovered; case ProtocolVersion.Version11 : return TraceCode.ParticipantRecovered11; default: return 0; // inaccessible path because we have asserted the protocol version } } } static class CoordinatorRecoveredRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace( Guid enlistmentId, string transactionId, EndpointAddress protocolService, ProtocolVersion protocolVersion ) { RecoverCoordinatorRecordSchema record = RecoverCoordinatorRecordSchema.Instance( transactionId, protocolService, protocolVersion); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, GetCode(protocolVersion), SR.GetString(SR.CoordinatorRecovered), record, null, enlistmentId, null); } static Type type = typeof(CoordinatorRecoveredRecord); static TraceCode GetCode(ProtocolVersion protocolVersion) { ProtocolVersionHelper.AssertProtocolVersion(protocolVersion, type, "GetCode"); switch (protocolVersion) { case ProtocolVersion.Version10 : return TraceCode.CoordinatorRecovered; case ProtocolVersion.Version11 : return TraceCode.CoordinatorRecovered11; default: return 0; // inaccessible path because we have asserted the protocol version } } } static class EnlistmentIdentityCheckFailedRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceInformation; } } public static void Trace(Guid enlistmentId) { DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, TraceCode.EnlistmentIdentityCheckFailed, SR.GetString(SR.EnlistmentIdentityCheckFailed), null, null, enlistmentId, null); } } // Verbose static class ParticipantStateMachineFinishedRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceVerbose; } } public static void Trace(Guid enlistmentId, string transactionId, TransactionOutcome outcome) { ParticipantOutcomeRecordSchema record = new ParticipantOutcomeRecordSchema( transactionId, enlistmentId, outcome); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Verbose, TraceCode.ParticipantStateMachineFinished, SR.GetString(SR.ParticipantStateMachineFinished), record, null, enlistmentId, null); } } static class CoordinatorStateMachineFinishedRecord { public static bool ShouldTrace { get { return DiagnosticUtility.ShouldTraceVerbose; } } public static void Trace(Guid enlistmentId, string transactionId, TransactionOutcome outcome) { CoordinatorOutcomeRecordSchema record = new CoordinatorOutcomeRecordSchema( transactionId, outcome); DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Verbose, TraceCode.CoordinatorStateMachineFinished, SR.GetString(SR.CoordinatorStateMachineFinished), record, null, enlistmentId, null); } } static class ThumbPrintNotFoundRecord { public static void TraceAndLog(string thumbPrint) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Information, EventLogCategory.Wsat, EventLogEventId.ThumbPrintNotFound, thumbPrint); } } static class ThumbPrintNotValidatedRecord { public static void TraceAndLog(string thumbPrint) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Information, EventLogCategory.Wsat, EventLogEventId.ThumbPrintNotValidated, thumbPrint); } } static class SslNoPrivateKeyRecord { public static void TraceAndLog(string subject, string thumbPrint) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Information, EventLogCategory.Wsat, EventLogEventId.SslNoPrivateKey, subject, thumbPrint); } } static class SslNoAccessiblePrivateKeyRecord { public static void TraceAndLog(string subject, string thumbPrint) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Information, EventLogCategory.Wsat, EventLogEventId.SslNoAccessiblePrivateKey, subject, thumbPrint); } } static class MissingNecessaryKeyUsageRecord { public static void TraceAndLog(string subject, string thumbPrint, System.Security.Cryptography.X509Certificates.X509KeyUsageFlags keyUsage) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Information, EventLogCategory.Wsat, EventLogEventId.MissingNecessaryKeyUsage, subject, thumbPrint, keyUsage.ToString()); } } static class MissingNecessaryEnhancedKeyUsageRecord { public static void TraceAndLog(string subject, string thumbPrint, string keyUsage) { DiagnosticUtility.EventLog.LogEvent( TraceEventType.Information, EventLogCategory.Wsat, EventLogEventId.MissingNecessaryEnhancedKeyUsage, subject, thumbPrint, keyUsage); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AsmxEndpointPickerExtension.cs
- Visual.cs
- DataConnectionHelper.cs
- DesignConnection.cs
- ECDiffieHellmanPublicKey.cs
- ReferenceSchema.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- SEHException.cs
- ManagementBaseObject.cs
- InternalBufferOverflowException.cs
- ImagingCache.cs
- CapabilitiesSection.cs
- DocumentCollection.cs
- SqlProvider.cs
- Int32CollectionConverter.cs
- BindableAttribute.cs
- NavigationPropertyAccessor.cs
- mongolianshape.cs
- unitconverter.cs
- DataGridViewAccessibleObject.cs
- WebSysDisplayNameAttribute.cs
- DataTableReaderListener.cs
- CustomAssemblyResolver.cs
- DataGridViewIntLinkedList.cs
- CrossContextChannel.cs
- QuaternionAnimation.cs
- PersonalizationDictionary.cs
- RightsManagementUser.cs
- CodeMethodMap.cs
- GeneratedCodeAttribute.cs
- DataGridSortCommandEventArgs.cs
- TextSerializer.cs
- MethodSet.cs
- ExpressionBuilderCollection.cs
- WebPartAddingEventArgs.cs
- GridViewColumnHeaderAutomationPeer.cs
- COM2PropertyDescriptor.cs
- SiteMapProvider.cs
- BrowserCapabilitiesCompiler.cs
- ExecutionProperties.cs
- QuarticEase.cs
- GAC.cs
- OrderByBuilder.cs
- WebPartCancelEventArgs.cs
- RangeBaseAutomationPeer.cs
- FakeModelItemImpl.cs
- AccessibleObject.cs
- FrameworkTemplate.cs
- PrefixQName.cs
- LinqDataSourceInsertEventArgs.cs
- OpenTypeLayout.cs
- UndoManager.cs
- WebPartUtil.cs
- MediaTimeline.cs
- LineBreak.cs
- ChineseLunisolarCalendar.cs
- System.Data_BID.cs
- PersianCalendar.cs
- Int32CAMarshaler.cs
- AppSettingsExpressionBuilder.cs
- OLEDB_Enum.cs
- SQLBoolean.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- XPathNodeInfoAtom.cs
- ResourceWriter.cs
- AsnEncodedData.cs
- StandardBindingImporter.cs
- PolicyStatement.cs
- ActivitiesCollection.cs
- AutomationFocusChangedEventArgs.cs
- MouseEventArgs.cs
- SelectQueryOperator.cs
- PropertyCondition.cs
- IdnElement.cs
- FormsAuthenticationConfiguration.cs
- SqlHelper.cs
- ThreadStartException.cs
- StylusCollection.cs
- DefaultWorkflowLoaderService.cs
- FontFamilyConverter.cs
- CqlBlock.cs
- RouteCollection.cs
- ScriptDescriptor.cs
- CodeAccessPermission.cs
- Attribute.cs
- RichTextBoxAutomationPeer.cs
- ImageFormatConverter.cs
- EventDescriptor.cs
- DataBoundControl.cs
- MenuItemStyleCollectionEditor.cs
- mil_commands.cs
- StructuredProperty.cs
- DnsEndPoint.cs
- BezierSegment.cs
- Message.cs
- SecurityPermission.cs
- BaseTemplatedMobileComponentEditor.cs
- WebPartZoneBaseDesigner.cs
- ContextProperty.cs
- ScrollChrome.cs