我对VB.NET中的后台工作者有一个非常奇怪的问题...我正在使用两个后台工作程序(bw1和bw2)来执行两个不同的任务...我使用后台工作程序的唯一原因是显示进度条控件中的进度报告。
一切正常......问题是当我在使用bw1和bw2之后再次尝试使用bw1时...程序崩溃了...它没有说任何错误消息......只是崩溃而没有响应.. 。
Private Sub btnTimbra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTimbra.Click
cargaCert()
cargaDatos()
cargaEmisor()
cargaPAC()
strXML = cXML()
xml = xmlSellado()
strguid = Guid.NewGuid.ToString("N")
'Relevant code**********
If bw1.IsBusy <> True Then
bw1.RunWorkerAsync()
End If
'*************************
End Sub
Bw1的DoWork方法是:
Private Sub bw1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bw1.DoWork
Dim worker As BackgroundWorker = CType(sender, BackgroundWorker)
If worker.CancellationPending = True Then
e.Cancel = True
Else
Timbrar(strNombreArchivo, cfdi.Emisor.rfc, cfdi.Receptor.rfc, strguid)
End If
End Sub
如果我重新启动应用程序工作得很好......我在背景工作器上做错了什么?
谢谢!!!