void WorkThread() { try { // continue working until canceled while (!cts.IsCancellationRequested) Work(Context.GetWork(this, GetType().Name)); } catch (OperationCanceledException) { // ignore } }