Esempio n. 1
0
 protected void DoWork(object sender, DoWorkEventArgs e)
 {
     BigSqlRunner.Run(
         (executedUnits, affectedRows) => BgWorker.ReportProgress(-1, new ProgressData(executedUnits, affectedRows)),
         message => BgWorker.ReportProgress(-1, new ProgressData(message))
         );
 }
Esempio n. 2
0
        private void BgWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            int showProgressEnableCounter = 0;
            //sync do
            var task = Task.Factory.StartNew(() => {
                var updateResult = ServiceClient.UploadFile(this.DestFileName, "", tokenSource.Token);
                if (!updateResult)
                {
                    IsSuccess = false;
                    MessageBox.Show($"upload { this.DestFileName} fail");
                }
                //delete client file
                File.Delete(this.DestFileName);
            }).ContinueWith(t =>
                            BgWorker.CancelAsync());
            int k = 0;

            while (true)
            {
                if (BgWorker.CancellationPending)
                {
                    e.Cancel = true;
                    break;
                }
                Interlocked.Increment(ref showProgressEnableCounter);
                if (k == showProgressEnableCounter / 1000000)
                {
                    continue;
                }
                k = showProgressEnableCounter / 1000000;
                if (k > 100)
                {
                    showProgressEnableCounter = 0;
                }

                BgWorker.ReportProgress(k);
            }
        }