Exemplo n.º 1
0
        public static void Run()
        {
#if USE_APP_CONFIG
            //load the tracking service via the app.config.
            //requires a reference to System.Configuration
            using (WorkflowRuntimeManager manager
                       = new WorkflowRuntimeManager(
                             new WorkflowRuntime("WorkflowRuntime")))
#else
            using (WorkflowRuntimeManager manager
                       = new WorkflowRuntimeManager(new WorkflowRuntime()))
#endif
            {
#if (!USE_APP_CONFIG)
                //add services that we require
                AddServices(manager.WorkflowRuntime);
#endif
#if CUSTOM_PROFILE
                //add a custom tracking profile for this workflow
                AddCustomTrackingProfile();
#endif
                //start the runtime
                manager.WorkflowRuntime.StartRuntime();

#if RULES_TRACKING
                Console.WriteLine("Executing TrackingRulesWorkflow");
                WorkflowInstanceWrapper instance =
                    manager.StartWorkflow(
                        typeof(SharedWorkflows.TrackingRulesWorkflow), null);
                manager.WaitAll(2000);
                Console.WriteLine("Completed TrackingRulesWorkflow\n\r");
#elif USER_DATA_TRACKING
                Console.WriteLine("Executing TrackingExampleWorkflow");
                WorkflowInstanceWrapper instance =
                    manager.StartWorkflow(
                        typeof(SharedWorkflows.TrackingUserDataWorkflow), null);
                manager.WaitAll(2000);
                Console.WriteLine("Completed TrackingExampleWorkflow\n\r");
#else
                Console.WriteLine("Executing TrackingExampleWorkflow");
                WorkflowInstanceWrapper instance =
                    manager.StartWorkflow(
                        typeof(SharedWorkflows.TrackingExampleWorkflow), null);
                manager.WaitAll(2000);
                Console.WriteLine("Completed TrackingExampleWorkflow\n\r");
#endif

#if (!CUSTOM_SERVICE)
                //query and display tracking data for this single instance
                TrackingConsoleWriter trackingWriter
                    = new TrackingConsoleWriter(_connStringTracking);
                trackingWriter.DisplayTrackingData(instance.Id);
#endif

#if CUSTOM_PROFILE
                //delete the tracking profile that we created
                DeleteCustomTrackingProfile();
#endif
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Display tracking data for all completed workflows
        /// </summary>
        private static void DisplayCompletedWorkflows()
        {
            //query and display tracking data for multiple workflows
            TrackingConsoleWriter trackingWriter
                = new TrackingConsoleWriter(_connStringTracking);
            //only display completed workflows
            SqlTrackingQueryOptions options = new SqlTrackingQueryOptions();

            options.WorkflowStatus = WorkflowStatus.Completed;
            trackingWriter.DisplayAllTrackingData(options);
        }