public void ProcessSerializeExecutionTimeTest() { IWfProcessDescriptor processDesc = WfProcessTestCommon.CreateSimpleProcessDescriptor(); int totalProcesses = 40; //准备流程实例 List <IWfProcess> processes = ProcessTestHelper.StartupMultiProcesses(processDesc, totalProcesses); ProcessTestHelper.OutputExecutionTime(() => { foreach (IWfProcess process in processes) { XElementFormatter formatter = new XElementFormatter(); XElement root = formatter.Serialize(process); } }, string.Format("序列化{0}个流程", totalProcesses)); }
public void BranchProcessRunTimeTest() { IWfProcess process = WfProcessTestCommon.StartupSimpleProcessWithAssignee(); IWfActivityDescriptor nextActivityDesp = process.CurrentActivity.Descriptor.ToTransitions[0].ToActivity; WfTransferParams tp = ProcessTestHelper.GetInstanceOfWfTransferParams(nextActivityDesp, OguObject.requestor); tp.BranchTransferParams.Add(new WfBranchProcessTransferParams( ProcessTestHelper.CreateConsignTemplate(WfBranchProcessExecuteSequence.Parallel, WfBranchProcessBlockingType.WaitAllBranchProcessesComplete))); for (int i = 0; i < 20; i++) { IUser obj = (IUser)OguObjectSettings.GetConfig().Objects["approver1"].Object; IUser obj2 = (IUser)OguObjectSettings.GetConfig().Objects["approver2"].Object; tp.BranchTransferParams[0].BranchParams.Add(obj, obj2); } int branchProcessNum = tp.BranchTransferParams[0].BranchParams.Count; ProcessTestHelper.OutputExecutionTime(() => process.MoveTo(tp), "流转并启动子流程"); ProcessTestHelper.OutputExecutionTime(() => WfRuntime.PersistWorkflows(), "保存流程状态"); ProcessTestHelper.OutputExecutionTime(() => WfRuntime.GetProcessByProcessID(process.ID), "重新加载主流程"); }