Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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), "重新加载主流程");
        }