示例#1
0
        protected override void OnSequenceComplete(NativeActivityContext executionContext)
        {
            TestTraceListenerExtension listenerExtension = executionContext.GetExtension <TestTraceListenerExtension>();

            UserTrace.Trace(listenerExtension, executionContext.WorkflowInstanceId, this.OnSequenceCompleteMessage);
            base.OnSequenceComplete(executionContext);
        }
示例#2
0
 public static void Trace(TestTraceListenerExtension listenerExtension, Guid instanceId, string message)
 {
     if (listenerExtension != null)
     {
         UserTrace userTrace = new UserTrace(instanceId, message);
         //TraceSource ts = new TraceSource("Microsoft.CoreWf.Tracking", SourceLevels.Information);
         //ts.TraceData(TraceEventType.Information, 1, userTrace);
         listenerExtension.TraceData(userTrace);
     }
 }
示例#3
0
        protected override void Execute(NativeActivityContext context)
        {
            TestTraceListenerExtension listenerExtension = context.GetExtension <TestTraceListenerExtension>();
            NoPersistHandle            handle            = _noPersistHandle.Get(context);

            handle.Enter(context);

            UserTrace.Trace(listenerExtension, context.WorkflowInstanceId, NoPersistenceBlockEntered);

            // Schedule all of the Sequence's Activities
            base.Execute(context);

            UserTrace.Trace(listenerExtension, context.WorkflowInstanceId, NoPersistenceBlockExited);
        }
示例#4
0
        protected void OnResumeBookmark(NativeActivityContext context, Bookmark bookmark, object obj)
        {
            TestTraceListenerExtension listenerExtension = context.GetExtension <TestTraceListenerExtension>();
            Guid instanceId = context.WorkflowInstanceId;

            UserTrace.Trace(listenerExtension, instanceId, BeforeWait);
            Thread.CurrentThread.Join((int)WaitTime.TotalMilliseconds);
            if (!(obj is T))
            {
                throw new Exception("Resume Bookmark with object of type " + typeof(T).FullName);
            }

            BookmarkValue.Set(context, (T)obj);
            UserTrace.Trace(listenerExtension, instanceId, AfterWait);
        }
示例#5
0
        protected override void Execute(CodeActivityContext executionContext)
        {
            UserTrace userTrace = new UserTrace(executionContext.WorkflowInstanceId,
                                                this.Id + ":" + executionContext.ActivityInstanceId, this.Message.Get(executionContext));
            //TraceSource ts = new TraceSource("Microsoft.CoreWf.Tracking", SourceLevels.Information);
            //ts.TraceData(TraceEventType.Information, 1, userTrace);
            // PartialTrustTrace.TraceData(ts, TraceEventType.Information, 1, userTrace);

            TestTraceListenerExtension traceExtension = executionContext.GetExtension <TestTraceListenerExtension>();

            if (traceExtension != null)
            {
                traceExtension.TraceData(userTrace);
            }
        }
        protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback, object state)
        {
            TestTraceListenerExtension listenerExtension = context.GetExtension <TestTraceListenerExtension>();

            UserTrace.Trace(listenerExtension, context.WorkflowInstanceId, AsyncOperationBlockEntered);

            AsyncWorkState asyncWorkState = new AsyncWorkState()
            {
                InstanceID        = context.WorkflowInstanceId,
                Duration          = this.Duration.Get(context),
                ListenerExtension = listenerExtension
            };

            return(new AsyncOperationBlockActivityAsyncResult(asyncWorkState, callback, state));
        }
示例#7
0
 public static void Trace(TestTraceListenerExtension listenerExtension, Guid instanceId, string format, params object[] args)
 {
     UserTrace.Trace(listenerExtension, instanceId, String.Format(format, args));
 }