从书上看到

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

posted on 2008-07-30 10:24  poplau  阅读(934)  评论(1编辑  收藏  举报