IRecordSequence.BeginWriteRestartArea 方法

定義

在衍生類別中覆寫時,開始非同步的重新啟動區域寫入作業。

多載

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

在衍生類別中覆寫時,使用先前在順序中保留的空間,開始非同步的重新啟動區域寫入作業。

BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

在衍生類別中覆寫時,使用先前在順序中保留的空間,開始非同步的重新啟動區域寫入作業。

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

在衍生類別中覆寫時,使用先前在順序中保留的空間,開始非同步的重新啟動區域寫入作業。

public:
 IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSequenceNumber As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

參數

data
ArraySegment<Byte>

即將串連並附加成記錄之位元組陣列區段的清單。

newBaseSequenceNumber
SequenceNumber

新的基底序號。 指定的序號必須大於或等於目前基底序號。

reservation
ReservationCollection

ReservationCollection,其中包含此重新啟動區域所應使用的保留區。

callback
AsyncCallback

選擇性的非同步回呼 (Callback),在重新啟動區域寫入完成時呼叫。

state
Object

使用者所提供的物件,可區別此特定非同步重新啟動區域寫入要求與其他要求。

傳回

IAsyncResult,表示可能還在暫止中的非同步重新啟動區域寫入作業。

備註

您應該將這個方法所傳回的 IAsyncResult 傳遞給 EndWriteRestartArea 方法,以確定重新啟動區域寫入作業已完成,而且可以適當地釋放資源。 如果在非同步重新啟動區域寫入作業期間發生錯誤,就要等到系統以這個方法傳回的 EndWriteRestartArea 呼叫 IAsyncResult 方法時,才會擲回例外狀況。

包含在 data 參數中的資料將串連至單一位元組陣列中,以便附加成記錄。 不過,在讀取記錄時,並不會將資料分割回陣列區段。

當這個作業成功完成時,基底序號已經更新。 只要是序號小於新基底序號的所有記錄都無法存取。

如果已指定 ReservationCollection,寫入的重新啟動區域將會使用包含在集合中的保留區,以取用先前所保留的空間。 如果此方法成功,便會取用可以保存資料的最小保留區,而且該保留區將會從集合移除。

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

適用於

BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

在衍生類別中覆寫時,使用先前在順序中保留的空間,開始非同步的重新啟動區域寫入作業。

public:
 IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSequenceNumber As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

參數

data
IList<ArraySegment<Byte>>

即將串連並附加成記錄之位元組陣列區段的清單。

newBaseSequenceNumber
SequenceNumber

新的基底序號。 指定的序號必須大於或等於目前基底序號。

reservation
ReservationCollection

ReservationCollection,其中包含此重新啟動區域所應使用的保留區。

callback
AsyncCallback

選擇性的非同步回呼 (Callback),在重新啟動區域寫入完成時呼叫。

state
Object

使用者所提供的物件,可區別此特定非同步重新啟動區域寫入要求與其他要求。

傳回

IAsyncResult,表示可能還在暫止中的非同步重新啟動區域寫入作業。

例外狀況

一或多個引數無效。

寫入重新啟動區域時發生 I/O 錯誤。

記錄順序無法騰出足夠的可用空間來容納新的記錄。

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

備註

您應該將這個方法所傳回的 IAsyncResult 傳遞給 EndWriteRestartArea 方法,以確定重新啟動區域寫入作業已完成,而且可以適當地釋放資源。 如果在非同步重新啟動區域寫入作業期間發生錯誤,就要等到系統以這個方法傳回的 EndWriteRestartArea 呼叫 IAsyncResult 方法時,才會擲回例外狀況。

包含在 data 參數中的資料將串連至單一位元組陣列中,以便附加成記錄。 不過,在讀取記錄時,並不會將資料分割回陣列區段。

當這個作業成功完成時,基底序號已經更新。 只要是序號小於新基底序號的所有記錄都無法存取。

如果已指定 ReservationCollection,寫入的重新啟動區域將會使用包含在集合中的保留區,以取用先前所保留的空間。 如果此方法成功,便會取用可以保存資料的最小保留區,而且該保留區將會從集合移除。

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

適用於