/// <summary> /// 根据流程ID得到流程 /// </summary> /// <param name="processID"></param> /// <returns></returns> public static IWfProcess GetProcessByProcessID(string processID) { processID.NullCheck <WfRuntimeException>("processID"); IWfProcess result = WfProcessContextCache.Instance.GetOrAddNewValue(processID, (cache, key) => { IWfProcess process = null; PerformanceMonitorHelper.GetDefaultMonitor().WriteExecutionDuration(string.Format("Load Process({0})", processID), () => { IWfProcessPersistManager persistManager = WorkflowSettings.GetConfig().GetPersistManager(); process = persistManager.LoadProcessByProcessID(key); cache.Add(key, process); }); return(process); }); return(result); }