C#后台工作人员异常嫁妆事件未触发
这是我的设置,这段代码工作正常C#后台工作人员异常嫁妆事件未触发,c#,multithreading,backgroundworker,C#,Multithreading,Backgroundworker,这是我的设置,这段代码工作正常 private void butGo_Click(object sender, EventArgs e) { threadCreateImages.RunWorkerAsync(); } private void threadCreateImages_DoWork(object sender, DoWorkEventArgs e) { PatientToHL7MSHManager tvPatientToHL7MSHManager = new Patie
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");
}
如果我改变
这条线
tvPatientToHL7MSHManager.LoadByMSHID(“”);
到
tvPatientToHL7MSHManager.LoadByPatientID(“”)
它跳过DoWork事件,直接进入RunWorkerCompleted事件
LoadByMSHID和LoadByPatientID之间的唯一区别是SQL语句上的过滤器,此外代码路径是相同的
没有后台线程,代码可以正常工作
任何想法或建议都将不胜感激。可能会引发异常。在RunWorkerCompleted事件中,检查传入的RunWorkerCompletedEventArgs值的属性
当异常发生时,BackgroundWorker不会将异常引发到主线程。相反,您必须在RunWorkerCompleted事件中检查它们。可能会引发异常。在RunWorkerCompleted事件中,检查传入的RunWorkerCompletedEventArgs值的属性
当异常发生时,BackgroundWorker不会将异常引发到主线程。相反,您必须在RunWorkerCompleted事件中检查它们。我不确定问题是什么,但这解决了问题
起初,我刚刚将business.dll复制到bin文件夹并引用了它,但是该文件夹包含一个旧的business.obj文件。当我复制business.dll和business.obj文件时,问题消失了。我不确定问题是什么,但这解决了问题 起初,我刚刚将business.dll复制到bin文件夹并引用了它,但是该文件夹包含一个旧的business.obj文件。当我复制business.dll和business.obj文件时,问题就消失了