語言

FileRecordSequence.ReserveAndAppend 方法

定義

自動進行單一預約,並將紀錄附加到序列後面。

多載

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

自動進行單一預約,並將紀錄附加到序列後面。 無法繼承這個方法。

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

自動進行單一預約,並將紀錄附加到序列後面。 無法繼承這個方法。

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

自動進行單一預約,並將紀錄附加到序列後面。 無法繼承這個方法。

public:
 virtual 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
override this.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[]

要做的預約,以位元組計算。

傳回

附加日誌記錄的序號。

實作

例外狀況

其中一個或多個參數為 null。

其中一個或多個論點超出範圍。

reservations 並非由此紀錄序列所創造。

由於記錄序列是以唯讀開啟,無法執行此操作。

由於意外的 I/O 異常,請求無法執行。

該方法是在序列被處理後才被呼叫的。

記憶體不足以繼續執行程式。

紀錄序列已滿。

備註

參數中 data 包含的資料會被串接成一個位元組陣列,作為記錄附加。 然而,讀取記錄時並未提供將資料分割回陣列區段的機制。

指定的保留會透過原子操作加上記錄附加操作,加入所提供的保留集合。 若附加失敗,則不保留任何空間。

通常,這個方法可能在紀錄尚未寫入前就完成。 為了確保記錄已被寫入,請使用參數ForceFlush指定旗標,recordAppendOptions或呼叫該Flush方法。

適用於

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

自動進行單一預約,並將紀錄附加到序列後面。 無法繼承這個方法。

public:
 virtual 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
override this.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 A是包含可預訂的收藏。

reservations
Int64[]

要做的預約,以位元組計算。

傳回

附加日誌記錄的序號。

實作

例外狀況

其中一個或多個參數為 null。

其中一個或多個論點超出範圍。

reservations 並非由此紀錄序列所創造。

由於記錄序列是以唯讀開啟,無法執行此操作。

由於意外的 I/O 異常,請求無法執行。

該方法是在序列被處理後才被呼叫的。

記憶體不足以繼續執行程式。

紀錄序列已滿。

備註

參數中 data 包含的資料會被串接成一個位元組陣列,作為記錄附加。 然而,讀取記錄時並未提供將資料分割回陣列區段的機制。

指定的保留會透過原子操作加上記錄附加操作,加入所提供的保留集合。 若附加失敗,則不保留任何空間。

通常,這個方法可能在紀錄尚未寫入前就完成。 為了確保記錄已被寫入,請使用參數ForceFlush指定旗標,recordAppendOptions或呼叫該Flush方法。

適用於