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 参数中的数据将连接成单个字节数组,以便以记录形式追加。 但在读取记录时,无法将数据重新拆分为数组段。

在原子操作中,使用记录追加操作将指定的预留添加到所提供的预留集合。 如果追加失败,将不保留任何空间。

通常,此方法可以在写入记录之前完成。 若要确保记录已写入,请使用 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 参数中的数据将连接成单个字节数组,以便以记录形式追加。 但在读取记录时,无法将数据重新拆分为数组段。

在原子操作中,使用记录追加操作将指定的预留添加到所提供的预留集合。 如果追加失败,将不保留任何空间。

通常,此方法可以在写入记录之前完成。 若要确保记录已写入,请使用 ForceFlush 参数指定 recordAppendOptions 标志,或者调用 Flush 方法。

适用于