private static void Main() { using (WorkflowRuntime workflowRuntime = new WorkflowRuntime()) { poImpl = new StartPurchaseOrder(); ExternalDataExchangeService dataService = new ExternalDataExchangeService(); workflowRuntime.AddService(dataService); dataService.AddService(poImpl); workflowRuntime.WorkflowCompleted += OnWorkflowCompleted; workflowRuntime.WorkflowTerminated += OnWorkflowTerminated; // Load the workflow type. Type type = typeof(PurchaseOrderWorkflow); WorkflowInstance instance = workflowRuntime.CreateWorkflow(type); workflowInstanceId = instance.InstanceId; // Start the workflow runtime engine workflowRuntime.StartRuntime(); instance.Start(); SendPORequestMessage(); waitHandle.WaitOne(); workflowRuntime.StopRuntime(); } }