/ / InvalidOperationException na segunda vez que executa um backgroundworker - wpf, xml, vb.net, timer, backgroundworker

InvalidOperationException na segunda vez que executa um backgroundworker - wpf, xml, vb.net, timer, backgroundworker

Eu estou fazendo um aplicativo usando wpf e vb.net no vb2010 express e tendo um problema que está me deixando louco.

Eu tenho um timer que executa um backgroundworker a cada minuto:

Private Sub timer_Tick() Handles timer.Tick
If Not bworker.IsBusy Then
bworker.RunWorkerAsync()
End If
End Sub

O backgroundworker está trabalhando com xmlelement e xmldataprovider:

Private Sub bworker_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bworker.DoWork
Dim source As XmlDataProvider = Application.Current.Resources("r1")
Dim sometext As String = "something"
Dim elemento As XmlElement = source.Document.CreateElement("elemento")
elemento.InnerText = sometext
e.Result = elemento
End Sub

Então eu estou usando e.Resultado no RunWorkerComplete para adicionar o XmlElement à origem. Ele funciona perfeito na primeira vez que executo o backgroundworker, mas quando o timer o chama na segunda vez, ele lança um InvalidOperationException na linha "elemento.InnerText = sometext" por que e como posso resolvê-lo?

Respostas:

0 para resposta № 1

Você pode tentar usar DispatcherTimer em vez de normal Timer acima?