Example #1
0
        private void Run()
        {
            using (_manager = new WorkflowRuntimeManager(new WorkflowRuntime("WorkflowRuntime")))
            {
                _manager.MessageEvent += new EventHandler<WorkflowLogEventArgs>(manager_MessageEvent);
                _manager.WorkflowRuntime.StartRuntime();

                _resetHandle.WaitOne();
            }
        }
Example #2
0
        public static void Run()
        {
            Console.WriteLine("Running test configured with App.config.");

            using (WorkflowRuntimeManager manager = new WorkflowRuntimeManager(new WorkflowRuntime("WorkflowRuntime")))
            {
                manager.MessageEvent += delegate(object sender, WorkflowLogEventArgs e)
                {
                    Console.WriteLine(e.Message);
                };
                
                manager.WorkflowRuntime.StartRuntime();

                Dictionary<string, object> wfArguments = new Dictionary<string, object>();
                //wfArguments.Add("InputString", "1");
                ManagedWorkflowInstance instance1 = manager.StartWorkflow(@"C:\Documents and Settings\Administrator\Desktop\Pro WF\chapter 17\WorkflowDesignerApp\bin\Debug\Test.xoml", @"C:\Documents and Settings\Administrator\Desktop\Pro WF\chapter 17\WorkflowDesignerApp\bin\Debug\Test.rules", wfArguments);
                //ManagedWorkflowInstance instance1 = manager.StartWorkflow(typeof(Workflow1), wfArguments);
                //instance1.WorkflowInstance.Terminate("Manual Termination");

                wfArguments.Clear();
                wfArguments.Add("InputString", "2");
                ManagedWorkflowInstance instance2 = manager.StartWorkflow(typeof(Workflow1), wfArguments);
                instance2.WorkflowInstance.Suspend("Manual Suspension");
                instance2.WorkflowInstance.Resume();

                wfArguments.Clear();
                wfArguments.Add("InputString", "3");
                manager.StartWorkflow(typeof(Workflow1), wfArguments);
                
                manager.WaitAll(15000);

                foreach (ManagedWorkflowInstance managedInstance in manager.Workflows.Values)
                {
                    if (managedInstance.Outputs.ContainsKey("Result"))
                    {
                        Console.WriteLine(managedInstance.Outputs["Result"]);
                    }
                    if (managedInstance.Exception != null)
                    {
                        Console.WriteLine("{0} - Exception: {1}", managedInstance.Id, managedInstance.Exception.Message);
                    }
                    if (managedInstance.ReasonSuspended.Length > 0)
                    {
                        Console.WriteLine("{0} - Suspended: {1}", managedInstance.Id, managedInstance.ReasonSuspended);
                    }
                }
                manager.ClearAllWorkflows();
            }
        }
Example #3
0
 public WorkflowRemote(WorkflowRuntimeManager Manager)
 {
     _manager = Manager;
 }