gpt4 book ai didi

C# BackGroundWorker 异常 DoWork 事件未触发

转载 作者:太空宇宙 更新时间:2023-11-03 18:01:19 24 4
gpt4 key购买 nike

这是我的设置,这段代码可以正常工作

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 事件中,检查 Error传入的 RunWorkerCompletedEventArgs 值的属性。

BackgroundWorkers 不会在主线程发生异常时引发异常。相反,您必须在 RunWorkerCompleted 事件中检查它们。

关于C# BackGroundWorker 异常 DoWork 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/950907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com