public static void Trace(Guid workflowInstanceId, Exception abortReason) { WorkflowAbortedTrace trace = new WorkflowAbortedTrace(workflowInstanceId, abortReason); TraceSource ts = new TraceSource("CoreWf.Tracking", SourceLevels.Information); ts.TraceData(TraceEventType.Information, 1, trace); }
bool IActualTraceStep.Equals(IActualTraceStep trace) { WorkflowAbortedTrace exceptionTrace = trace as WorkflowAbortedTrace; return(exceptionTrace != null && exceptionTrace._instanceId == _instanceId && ((_abortedReason == null || exceptionTrace._abortedReason == null) || (exceptionTrace._abortedReason.GetType() == _abortedReason.GetType() && exceptionTrace._abortedReason.Message == _abortedReason.Message))); }
public ActualTrace(ActualTrace actualTrace) { lock (actualTrace.Steps) { foreach (IActualTraceStep step in actualTrace.Steps) { ActivityTrace activityTrace = step as ActivityTrace; if (activityTrace != null) { this.Steps.Add(new ActivityTrace(activityTrace)); continue; } //WorkflowInstanceUpdatedTrace workflowInstanceUpdatedTrace = step as WorkflowInstanceUpdatedTrace; //if (workflowInstanceUpdatedTrace != null) //{ // this.Steps.Add(new WorkflowInstanceUpdatedTrace(workflowInstanceUpdatedTrace.InstanceName, workflowInstanceUpdatedTrace.OriginalWorkflowIdentity, workflowInstanceUpdatedTrace.WorkflowDefinitionIdentity, workflowInstanceUpdatedTrace.InstanceStatus)); // continue; //} WorkflowInstanceTrace workflowInstanceTrace = step as WorkflowInstanceTrace; if (workflowInstanceTrace != null) { this.Steps.Add(new WorkflowInstanceTrace(workflowInstanceTrace.InstanceName, workflowInstanceTrace.WorkflowDefinitionIdentity, workflowInstanceTrace.InstanceStatus)); continue; } UserTrace userTrace = step as UserTrace; if (userTrace != null) { this.Steps.Add(new UserTrace(userTrace.InstanceId, userTrace.ActivityParent, userTrace.Message)); continue; } BookmarkResumptionTrace bookmarkResumptionTrace = step as BookmarkResumptionTrace; if (bookmarkResumptionTrace != null) { this.Steps.Add(new BookmarkResumptionTrace(bookmarkResumptionTrace.BookmarkName, bookmarkResumptionTrace.SubinstanceId, bookmarkResumptionTrace.ActivityName)); continue; } SynchronizeTrace synchronizeTrace = step as SynchronizeTrace; if (synchronizeTrace != null) { this.Steps.Add(new SynchronizeTrace(synchronizeTrace.userTrace.InstanceId, synchronizeTrace.userTrace.Message)); continue; } WorkflowExceptionTrace weTrace = step as WorkflowExceptionTrace; if (weTrace != null) { this.Steps.Add(new WorkflowExceptionTrace(weTrace.InstanceName, weTrace.InstanceException)); continue; } WorkflowAbortedTrace wasTrace = step as WorkflowAbortedTrace; if (wasTrace != null) { this.Steps.Add(new WorkflowAbortedTrace(wasTrace.InstanceId, wasTrace.AbortedReason)); continue; } } } }