FileRecordSequence.ReserveAndAppend 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
自動建立單一保留區,並將記錄附加至順序。
多載
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
參數中的資料將串連至單一位元組陣列中,以便附加成記錄。 不過,在讀取記錄時,並不會將資料分割回陣列區段。
指定的保留區會在不可部分完成的作業 (Atomic Operation) 與記錄附加作業中,加入至提供的保留區集合。 如果附加失敗,就不會保留任何空間。
這個方法通常可以在寫入記錄前完成。 若要確定已寫入某筆記錄,請使用 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,其中包含要在其中建立保留區的集合。
- reservations
- Int64[]
要建立的保留區 (以位元組為單位)。
傳回
已附加之記錄的序號。
實作
例外狀況
一或多個引數為 null
。
一或多個引數超出範圍。
reservations
不是由此記錄順序所建立。
記錄順序是以唯讀存取所開啟,無法執行作業。
由於意外的 I/O 例外狀況,所以無法執行要求。
已在處置序列之後呼叫此方法。
沒有足夠的記憶體可以繼續執行程式。
記錄順序已滿。
備註
包含在 data
參數中的資料將串連至單一位元組陣列中,以便附加成記錄。 不過,在讀取記錄時,並不會將資料分割回陣列區段。
指定的保留區會在不可部分完成的作業 (Atomic Operation) 與記錄附加作業中,加入至提供的保留區集合。 如果附加失敗,就不會保留任何空間。
這個方法通常可以在寫入記錄前完成。 若要確定已寫入某筆記錄,請使用 ForceFlush 參數指定 recordAppendOptions
旗標,或是呼叫 Flush 方法。