static void DataImport(IImport import)
        {
            var cts = new CancellationTokenSource();

            cts.CancelAfter(4000);


            var ct = cts.Token;

            Task importTask = import.ImportXmlFilesAsync(@"C:\data", ct);

            while (!importTask.IsCompleted)
            {
                Console.Write(".");
                if (Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.Q)
                {
                    try
                    {
                        cts.Cancel();
                        importTask.Wait();
                    }
                    catch (AggregateException ex)
                    {
                        Console.WriteLine(ex.Flatten());
                    }
                }
                Console.WriteLine(importTask.Status);
                Thread.Sleep(250);
            }
        }
Exemple #2
0
        public static void DataImport(IImport import)
        {
            var tcs = new CancellationTokenSource();
            CancellationToken ct = tcs.Token;

            Task importTask = import.ImportXmlFilesAsync(@"C:\data", ct);

            while (!importTask.IsCompleted)
            {
                Console.Write(".");
                if (Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.Q)
                {
                    tcs.Cancel();
                }
                Thread.Sleep(250);
            }
        }
        public static void DataImport(IImport import)
        {
            var tcs = new CancellationTokenSource();
            CancellationToken ct = tcs.Token;

            Task importTask = import.ImportXmlFilesAsync(@"..\..\data", ct, new Progress <ImportProgress>(DisplayProgress));

            while (!importTask.IsCompleted)
            {
                if (Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.Q)
                {
                    tcs.Cancel();
                }
                Thread.Sleep(250);
            }
            Console.WriteLine(importTask.Status);
        }