IRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當在衍生類別中覆寫時,會開始非同步沖洗操作,使用序列中先前保留的空間。
public:
IAsyncResult ^ BeginFlush(System::IO::Log::SequenceNumber sequenceNumber, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginFlush(System.IO.Log.SequenceNumber sequenceNumber, AsyncCallback callback, object state);
abstract member BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
Public Function BeginFlush (sequenceNumber As SequenceNumber, callback As AsyncCallback, state As Object) As IAsyncResult
參數
- sequenceNumber
- SequenceNumber
必須寫入的最新紀錄的序號。 若此無 SequenceNumber 效,則所有紀錄必須寫入。
- callback
- AsyncCallback
一個可選的非同步回撥,當清空完成時呼叫。
- state
- Object
一個使用者提供的物件,用來區分此特定非同步清洗請求與其他請求。
傳回
一個 IAsyncResult 代表非同步沖洗操作,該操作可能仍在等待中。
例外狀況
一或多個引數無效。
在清除資料時發生了 I/O 錯誤。
該方法是在序列被處理後才被呼叫的。
備註
你應該將 IAsyncResult 當前方法的回傳資料傳遞給 EndFlush 該方法,以確保洗車完成並適當釋放資源。 若在非同步沖洗期間發生錯誤,除非該方法呼叫該方法並返回異常EndFlush,否則IAsyncResult不會拋出例外。
呼叫此方法可確保所有附加於 的 IRecordSequence 紀錄都能被持久寫入。
如果記錄序列已被處理,或你傳遞了無效參數,則在此操作中會立即拋出例外。 例如,在非同步清機請求期間發生錯誤,例如在 I/O 請求中磁碟故障,當呼叫該 EndFlush 方法時,會拋出異常。