public static void Trace(Guid workflowInstanceId, Exception instanceException)
        {
            WorkflowExceptionTrace trace = new WorkflowExceptionTrace(workflowInstanceId, instanceException);

            TraceSource ts = new TraceSource("CoreWf.Tracking", SourceLevels.Information);

            ts.TraceData(TraceEventType.Information, 1, trace);
        }
Esempio n. 2
0
        bool IActualTraceStep.Equals(IActualTraceStep trace)
        {
            WorkflowExceptionTrace exceptionTrace = trace as WorkflowExceptionTrace;

            if (exceptionTrace != null &&
                exceptionTrace._instanceName == _instanceName &&
                exceptionTrace._instanceException.ToString() == _instanceException.ToString())
            {
                return(true);
            }

            return(false);
        }
Esempio n. 3
0
        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;
                    }
                }
            }
        }