Пример #1
0
        public async Task <string> StartTask(int delay, string css)
        {
            var tokenSource = new CancellationTokenSource();

            string taskId = string.Format("progress{0}", Guid.NewGuid());

            CurrentTasks.TryAdd(taskId, new TaskDetails {
                Percent     = 0,
                CancelToken = tokenSource,
                Id          = taskId,
                Name        = string.Format("Empty task #{0}", this.CurrentTasks.Count),
                BarCss      = css,
                TaskPage    = "/"
            });

            //var task = Task.Factory.StartNew(() => Calculation(delay, taskId, tokenSource.Token), tokenSource.Token);
            var task = MyEmptyTask.StartCalculation(delay, tokenSource.Token, new Progress <int>(pourcent =>
            {
                if (CurrentTasks.ContainsKey(taskId))
                {
                    CurrentTasks[taskId].Percent = pourcent;
                }
                ReportProgress();
            }));

            await task;

            return("Task result");
        }
Пример #2
0
 public void CreateTasks()
 {
     // TODO - can be replaced by copy tasks
     ForwardTask   = new MyEmptyTask();
     DeltaBackTask = new MyEmptyTask();
 }
Пример #3
0
 public void CreateTasks()
 {
     // TODO - can be replaced by copy tasks
     ForwardTask = new MyEmptyTask();
     DeltaBackTask = new MyEmptyTask();
 }