IRecordSequence.ReserveAndAppend 方法

定義

在衍生類別中覆寫時,自動建立單一保留區,並將記錄附加至順序。

多載

ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

在衍生類別中覆寫時,自動建立單一保留區,並將記錄附加至順序。

ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

在衍生類別中覆寫時,自動建立單一保留區,並將記錄附加至順序。

ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

在衍生類別中覆寫時,自動建立單一保留區,並將記錄附加至順序。

public:
 System::IO::Log::SequenceNumber ReserveAndAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, ... cli::array <long> ^ reservations);
public System.IO.Log.SequenceNumber ReserveAndAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, params long[] reservations);
abstract member ReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber

參數

data
ArraySegment<Byte>

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

nextUndoRecord
SequenceNumber

下一筆記錄的序號 (依照使用者指定的順序)。

previousRecord
SequenceNumber

下一筆記錄的序號 (依照之前的順序)。

recordAppendOptions
RecordAppendOptions

RecordAppendOptions 的有效值,其中指定資料的寫入方式。

reservationCollection
ReservationCollection

ReservationCollection,其中包含要在其中建立保留區的集合。

reservations
Int64[]

要建立的保留區 (以位元組為單位)。

傳回

已附加之記錄的序號。

例外狀況

一或多個引數無效。

附加記錄時發生 I/O 錯誤。

記錄順序無法騰出足夠的可用空間來容納新的記錄或建立保留區。

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

備註

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

指定的保留區會在不可部分完成的作業 (Atomic Operation) 與記錄附加作業中,加入至提供的保留區集合。 如果附加失敗,就不會保留任何空間。

這個方法通常可以在寫入記錄前完成。 若要確定已寫入某筆記錄,請使用 ForceFlush 參數指定 recordAppendOptions 旗標,或是呼叫 Flush 方法。

適用於

ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

在衍生類別中覆寫時,自動建立單一保留區,並將記錄附加至順序。

public:
 System::IO::Log::SequenceNumber ReserveAndAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, ... cli::array <long> ^ reservations);
public System.IO.Log.SequenceNumber ReserveAndAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, params long[] reservations);
abstract member ReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber

參數

data
IList<ArraySegment<Byte>>

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

nextUndoRecord
SequenceNumber

下一筆記錄的序號 (依照使用者指定的順序)。

previousRecord
SequenceNumber

下一筆記錄的序號 (依照之前的順序)。

recordAppendOptions
RecordAppendOptions

RecordAppendOptions 的有效值,其中指定資料的寫入方式。

reservationCollection
ReservationCollection

要在其中建立保留區的保留區集合。

reservations
Int64[]

要建立的保留區 (以位元組為單位)。

傳回

已附加之記錄的序號。

例外狀況

一或多個引數無效。

附加記錄時發生 I/O 錯誤。

記錄順序無法騰出足夠的可用空間來容納新的記錄或建立保留區。

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

備註

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

指定的保留區會在不可部分完成的作業 (Atomic Operation) 與記錄附加作業中,加入至提供的保留區集合。 如果附加失敗,就不會保留任何空間。

這個方法通常可以在寫入記錄前完成。 若要確定已寫入某筆記錄,請使用 ForceFlush 參數指定 recordAppendOptions 旗標,或是呼叫 Flush 方法。

適用於