Ejemplo n.º 1
0
        private async void ExecuteAsync_OnClick(object sender, RoutedEventArgs e)
        {
            Progress <ProgressReportModel> progress = new Progress <ProgressReportModel>();

            progress.ProgressChanged += ReportProgress;

            var watch = System.Diagnostics.Stopwatch.StartNew();

            try
            {
                var results = await DemoMethods.RunDownloadAsync(progress, cts.Token);

                ReportWebsiteInfo(results);
            }
            catch (OperationCanceledException ex)
            {
                resultsWindow.Text += $"The async download was cancelled. {Environment.NewLine}";
                cts = new CancellationTokenSource();
            }

            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;

            resultsWindow.Text += $"Total execution time: {elapsedMs}";
        }
Ejemplo n.º 2
0
        private void ExecuteSync_OnClick(object sender, RoutedEventArgs e)
        {
            resultsWindow.Text = string.Empty;

            var watch = System.Diagnostics.Stopwatch.StartNew();

            // var results = DemoMethods.RunDownloadSync();
            var results = DemoMethods.RunDownloadParallelSync();

            ReportWebsiteInfo(results);

            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;

            resultsWindow.Text += $"Total execution time: {elapsedMs}";
        }
Ejemplo n.º 3
0
        private async void ExecuteParallelAsync_OnClick(object sender, RoutedEventArgs e)
        {
            resultsWindow.Text = string.Empty;
            Progress <ProgressReportModel> progress = new Progress <ProgressReportModel>();

            progress.ProgressChanged += ReportProgress;

            var watch = System.Diagnostics.Stopwatch.StartNew();

            // var results = await DemoMethods.RunDownloadParallelAsync();
            var results = await DemoMethods.RunDownloadParallelAsyncV2(progress);

            ReportWebsiteInfo(results);

            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;

            resultsWindow.Text += $"Total execution time: {elapsedMs}";
        }