共用方式為


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

定義

使用先前保留在順序中的空間,開始執行非同步的清除作業。 這個方法無法被繼承。

public:
 virtual 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
override this.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,表示可能還在暫止中的非同步清除作業。

實作

例外狀況

一或多個引數無效。

sequenceNumber 對此順序無效。

sequenceNumber 不是介於這個順序的基底序號和最後一個序號之間。

清除資料時發生 I/O 錯誤。

已在處置序列之後呼叫此方法。

沒有足夠的記憶體可以繼續執行程式。

備註

您應該將目前方法傳回的 IAsyncResult 傳遞給 EndFlush 方法,以確保清除完成,並適當釋放資源。 如果在非同步清除期間發生錯誤,則必須在使用這個方法傳回的 EndFlush 呼叫 IAsyncResult 方法後才會擲回例外狀況。

呼叫這個方法可以確保已永久寫入附加到 FileRecordSequence 的所有記錄。

如果處置了記錄順序,或是您傳遞了無效的引數,就會立即在此作業中擲回例外狀況。 在非同步清除要求期間發生的錯誤 (例如,在 I/O 要求期間發生的磁碟錯誤),會導致在呼叫 EndFlush 方法時擲回例外狀況。

適用於