Esempio n. 1
0
        /// <summary>
        /// Tells the event stream to invoke the UpdateActivity operation.
        /// </summary>
        /// <param name="activity">The activity instance.</param>
        public void UpdateActivity(ActivityBase activity)
        {
            Guard.ArgumentNotNull(activity, "activity");

            var callToken = TraceManager.TrackingComponent.TraceIn(activity.ActivityName, activity.ActivityID);

            this.eventStream.UpdateActivity(activity.ActivityName, activity.ActivityID, ActivityTrackingUtility.GetActivityData(activity));

            TraceManager.TrackingComponent.TraceOut(callToken);
        }
Esempio n. 2
0
        /// <summary>
        /// Tells the event stream to invoke the BeginActivity, UpdateActivity and EndActivity operations.
        /// If activity has a continuation token, continuation will also be enabled.
        /// </summary>
        /// <param name="activity">The activity instance.</param>
        public void BeginAndCompleteActivity(ActivityBase activity)
        {
            Guard.ArgumentNotNull(activity, "activity");

            var callToken = TraceManager.TrackingComponent.TraceIn(activity.ActivityName, activity.ActivityID);

            this.eventStream.BeginActivity(activity.ActivityName, activity.ActivityID);
            this.eventStream.UpdateActivity(activity.ActivityName, activity.ActivityID, ActivityTrackingUtility.GetActivityData(activity));

            // Check if we should auto-enable continuation on this activity.
            if (!String.IsNullOrEmpty(activity.ContinuationToken))
            {
                this.eventStream.EnableContinuation(activity.ActivityName, activity.ActivityID, activity.ContinuationToken);
            }

            this.eventStream.EndActivity(activity.ActivityName, activity.ActivityID);

            TraceManager.TrackingComponent.TraceOut(callToken);
        }