/// <summary> /// The starting method of the parallel tasks. /// </summary> /// <param name="taskData">The UIParallelTask object itself.</param> private static void ParallelTaskProc(object taskData) { UIParallelTask task = (UIParallelTask)taskData; try { TraceManager.WriteAllTrace(string.Format("Starting task '{0}'", RCThread.CurrentThread.Name), UITraceFilters.INFO); task.TaskProc(task.Parameter); task.PostFinish(); TraceManager.WriteAllTrace(string.Format("Task '{0}' finished", RCThread.CurrentThread.Name), UITraceFilters.INFO); } catch (Exception ex) { TraceManager.WriteAllTrace(string.Format("Task '{0}' failed. Exception: {1}", RCThread.CurrentThread.Name, ex.ToString()), UITraceFilters.ERROR); task.PostFailure(ex); } }