Я создаю приложение, используя wpf и vb.net в экспрессе vb2010, и у меня возникла проблема, которая сводит меня с ума.
У меня есть таймер, который запускает фонового работника каждую минуту:
Private Sub timer_Tick() Handles timer.Tick
If Not bworker.IsBusy Then
bworker.RunWorkerAsync()
End If
End Sub
Фоновый работник работает с xmlelement и 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
Затем я использую e.Result для RunWorkerComplete, чтобы добавить XmlElement в источник.Он отлично работает в первый раз, когда я запускаю фонового работника, но когда таймер вызывает его во второй раз, он выдает InvalidOperationException в строке "elemento.InnerText = sometext", почему это так и как я могу это решить?