Esempio n. 1
0
        static async Task DoWorkAsync(CommandExecutionController controller, CancellationToken cancellationToken)
        {
            try
            {
                for (var i = 0; i < 100; i++)
                {
                    controller.ReportProgress(i / 100f);

                    await Task.Delay(TimeSpan.FromSeconds(0.1), cancellationToken);
                }

                controller.DisableCancelCommand();
            }
            finally
            {
                await Task.Delay(TimeSpan.FromSeconds(2));
            }
        }
Esempio n. 2
0
        static void DoWork(CommandExecutionController controller, CancellationToken cancellationToken)
        {
            try
            {
                for (var i = 0; i < 100; i++)
                {
                    cancellationToken.ThrowIfCancellationRequested();

                    controller.ReportProgress(i / 100f);

                    DoEvents();
                    Thread.Sleep(TimeSpan.FromSeconds(0.1));
                }

                controller.DisableCancelCommand();
            }
            finally
            {
                DoEvents();
                Thread.Sleep(TimeSpan.FromSeconds(2));
            }
        }