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(); } } } }
void UpdateActivityMessage(string message) { log.WriteLine(message); this.BeginInvoke(new Action(() => { richtxtActivity.Text += message + "\n"; })); }
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; }