Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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)));
        }
Exemplo 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;
                    }
                }
            }
        }