从书上看到
ManualWorkflowSchedulerService一般用于ASP.NET写的应用中
先初始化
System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService scheduler = new System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService();
workflowRuntime.AddService(scheduler);
在使用中一定要注意红色部分
WorkflowRuntime workFlowRunTime = Application[ClassPublic.WorkFlowConstValue.WorkflowRuntimeName] as WorkflowRuntime;
ManualWorkflowSchedulerService Schedul = workFlowRunTime.GetService<ManualWorkflowSchedulerService>();
WorkflowInstance wInstance = workFlowRunTime.CreateWorkflow(typeof(BillWF.BillWorkFlow));
modelBillTable.BillId = wInstance.InstanceId;
wInstance.Start();
Schedul.RunWorkflow(wInstance.InstanceId);
只有执行了红色部分
工作流才能真正驱动
因此在执行状态机跳转的时候,也需要使用红色部分
BillWF.BillService billService = workFlowRunTime.GetService<BillWF.BillService>();
billService.RaiseEvent("eveUserApply", wInstance.InstanceId);
Schedul.RunWorkflow(wInstance.InstanceId);