日期:2014-05-17  浏览次数:20689 次

backgroud worker的dowork 莫名其妙会断开
 
  private void backgroundWorkerForEvent_DoWork(object sender, DoWorkEventArgs e)
        {
while (backgroundWorkerForEvent.IsBusy &&!backgroundWorkerForEvent.CancellationPending)
{
...操作 会记录一些运行数据
}
     日志记录已经DOWORK完成
}
 private void backgroundWorkerForEvent_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
 日志记录已经Completed完成
}
            {

我现在的日志记录里 、
记录一些运行数据...
       运行数据...

日志记录已经Completed完成

而中间的“日志记录已经DOWORK完成”  却没有写到日志记录里,
那就是说这个DOWORK 直接结束了。而不是退出while循环+日志记录已经DOWORK完成  才结束。

这是个什么情况 ?

------解决方案--------------------
看看while里是不是有异常
------解决方案--------------------
你在Dowork方法哪里设置一个断点单步调试下,看看while条件是不是为true了