private void backgroundSearchWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            string searchStr = BuildSearchString();

            cancelToken = new CancellationTokenSource();
            ct          = cancelToken.Token;

            var task = Task.Factory.StartNew(() =>
            {
                ct.ThrowIfCancellationRequested();
                string searchResult = SearchbyCommand(searchStr, ct);
            }, cancelToken.Token);

            try
            {
                log.WriteLine("Task waiting");
                task.Wait(ct);
                log.WriteLine("Task done");
            }
            catch (Exception)
            {
                if (ct.IsCancellationRequested)
                {
                    log.WriteLine("Task canceled");
                    cancelToken.Cancel();
                    if (process != null && !process.HasExited)
                    {
                        log.WriteLine("Process canceled");
                        process.Kill();
                    }
                }
            }
        }
Beispiel #2
0
 void UpdateActivityMessage(string message)
 {
     log.WriteLine(message);
     this.BeginInvoke(new Action(() =>
     {
         richtxtActivity.Text += message + "\n";
     }));
 }
Beispiel #3
0
        private void LogLine(string message, params string[] args)
        {
            if (args.Length > 0)
            {
                message = String.Format(message, args);
            }

            log.WriteLine(message);
            message      = DateTime.Now + " " + message;
            txtMsg.Text += message + Environment.NewLine;
        }