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 } }
/// <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); }