Example #1
0
        /// <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);
            }
        }