我試着去創建一個方法,讓我在一個連續的流保存即示例代碼:Silverlight的WCF數據服務保存按順序
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,但還沒有擺弄周圍得到它會這麼我想我會問。這裏是我的即時存檔方法的最後一次迭代:
#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回調。任何想法哪裏出錯了?或者我可以如何實現這一點的另一個想法。
感謝