1 c# multithreading backgroundworker
这是我的设置,此代码正常工作
private void butGo_Click(object sender, EventArgs e)
{
threadCreateImages.RunWorkerAsync();
}
private void threadCreateImages_DoWork(object sender, DoWorkEventArgs e)
{
PatientToHL7MSHManager tvPatientToHL7MSHManager = new PatientToHL7MSHManager();
tvPatientToHL7MSHManager.LoadByMSHID("");
}
private void threadCreateImages_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
MessageBox.Show("DONE");
}
Run Code Online (Sandbox Code Playgroud)
如果我更改此行tvPatientToHL7MSHManager.LoadByMSHID(""); to tvPatientToHL7MSHManager.LoadByPatientID("");
它跳过DoWork事件并直接进入RunWorkerCompleted事件.
除了代码路径相同之外,LoadByMSHID和LoadByPatientID之间的唯一区别是SQL语句上的过滤器.
没有后台线程,代码可以正常工作.
任何想法或建议将非常感激.
| 归档时间: |
|
| 查看次数: |
2638 次 |
| 最近记录: |