Exemplo n.º 1
0
        private void DoWork(object sender, DoWorkEventArgs e)
        {
            var args = new AsyncWorkerEventArgs(e.Argument);

            args.State = WorkerState.None;
            this.OnWork(args);
            //AsyncWorkerEventArgs arg = new AsyncWorkerEventArgs(e.Argument);
            //arg.State = WorkerState.None;
            //WorkHandler handler = new WorkHandler(this.OnWork);
            //handler.BeginInvoke(arg, null, null);
            //e.Result = arg;
            //while (true)
            //{
            //    if (worker.CancellationPending)
            //    {
            //        e.Cancel = true;
            //        arg.State = WorkerState.Canceled;
            //        break;
            //    }
            //    if (arg.State != WorkerState.None)
            //        break;
            //    // 睡眠5毫秒,让出CUP
            //    System.Threading.Thread.Sleep(5);
            //}
        }
Exemplo n.º 2
0
        public void Report(AsyncWorkerEventArgs e)
        {
            var args = new AsyncWorkerEventArgs(e.Argument)
            {
                Count = e.Count,
                Num   = e.Num,
                State = e.State,
                Tag   = e.Tag,
                Tip   = e.Tip
            };

            worker.ReportProgress(0, args);
        }
Exemplo n.º 3
0
 protected virtual void OnWork(AsyncWorkerEventArgs e)
 {
     try
     {
         if (this._LoaderForm != null)
         {
             this._LoaderForm.Tag = e;
         }
         if (_AsynWork != null)
         {
             _AsynWork.Invoke(this, e);
         }
     }
     catch (Exception ex)
     {
         Log.Debug(ex);
         Log.Debug("[DocumentScene]-[AsyncWorker->OnWork]-[StackTrace:{0}]-[Message:{1}]"
                   , ex.StackTrace, ex.Message);
     }
 }