如何监测 backgroundWorker的DoWork()已经死掉或意外退出了?
我想隔断时间检测下backgrounderworker的DoWork()是否已经死掉了,我该怎么做?

解决方案 »

  1.   

    这是个很有意义的问题
     private void bgWorker_DoWork(object sender, DoWorkEventArgs e)
            {
                if (bgWorker.CancellationPending) {
                    e.Cancel = true;
                    e.Result = -1;
                }else{
                e.Result = PublishPlaylist(bgWorker, e);//开始做事
                //MessageBox.Show(e.Result.ToString());
                if ((int)e.Result <0) { 
                    
                    e.Cancel = true; 
                    
                }
                }
            }
     private int PublishPlaylist(object sender, DoWorkEventArgs e)
    {
         try{
    //返回               e.Result = 1;----成功
    }
    catch(Exception x){//写异常日志
       Logger.Write(x);
     e.Cancel = true;                e.Result = -1;
    }
    }我之前这么写的,也觉得不是很好的办法