Я пытаюсь создать метод, который позволяет мне сохранять в последовательном потоке, например, пример кода:
Private sub BlahWithSave()
'PERFOR ACTIONS
Blah()
Blah2()
'SAVE CHANGES TO DB
General.SaveState()
'CARRY ON PERFORMING ACTIONS AFTER SAVE CARRIED OUT
Blah3()
Blah4()
End Sub
В настоящее время я копался с ManualResetEvent и AutoResetEvent, но не получил его, поэтому я подумалпросить.Вот моя последняя итерация метода SaveState:
#Region " SAVE CHANGES "
Private Shared ManualWaitEvent As System.Threading.ManualResetEvent
Public Shared Sub SaveState()
ManualWaitEvent = New System.Threading.ManualResetEvent(False)
MyDataContext.BeginSaveChanges(Sub(result As IAsyncResult)
ManualWaitEvent.Set()
Deployment.Current.Dispatcher.BeginInvoke(Sub()
Dim response As DataServiceResponse = MyDataContext.EndSaveChanges(result)
End Sub)
End Sub, MyDataContext)
ManualWaitEvent.WaitOne()
End Sub
#End Region
Проблема в том, что он просто останавливается на ManualWaitEvent.WaitOne и никогда не попадает в обратный вызов BeginSaveChanges.Любые идеи о том, где я иду не так?Или другая идея о том, как я могу достичь этого.
Спасибо