IRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) 方法

定義

在衍生類別中覆寫時,使用先前在順序中保留的空間,開始非同步的清除作業。

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 方法時擲回例外狀況。

適用於