IRecordSequence.BeginAppend 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在派生类中重写时,开始异步追加操作。
重载
BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)
在派生类中重写时,将使用序列中先前保留的空间来开始异步追加操作。
public:
IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousUndoRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousUndoRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousUndoRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
参数
- data
- IList<ArraySegment<Byte>>
将连接在一起并以记录形式追加的字节数组段的列表。
- nextUndoRecord
- SequenceNumber
用户指定顺序中下一条记录的序列号。
- previousUndoRecord
- SequenceNumber
“上一个”顺序中下一条记录的序列号。
- recordAppendOptions
- RecordAppendOptions
RecordAppendOptions 的一个有效值,用于指定应如何写入数据。
- reservations
- ReservationCollection
一个 ReservationCollection,它包含应当用于此记录的预留。
- callback
- AsyncCallback
可选的异步回调,在追加完成时调用。
- state
- Object
用户提供的对象,用于将此特定异步追加请求与其他请求区别开来。
返回
一个 IAsyncResult,它表示可能仍处于挂起状态的异步追加。
例外
一个或多个自变量无效。
追加记录时,发生了 I/O 错误。
记录序列无法获得足够的可用空间来容纳新记录。
该方法是在序列已释放之后调用的。
注解
应将此方法返回的 IAsyncResult 传递给 EndAppend 方法,以确保追加操作完成并能够适当释放资源。 如果在异步追加过程中发生错误,则在使用此方法返回的 EndAppend 调用 IAsyncResult 方法之前,不会引发异常。
包含在 data
参数中的数据将连接成单个字节数组,以便以记录形式追加。 但在读取记录时,无法将数据重新拆分为数组段。
追加的记录将使用 reservations
参数指定的预留来占用先前已预留的空间。 如果追加成功,它将占用能容纳数据的最小预留区域,而该预留区域将从集合中移除。
通常,此方法在写入记录之前完成。 若要确保记录已写入,请使用 ForceFlush 参数指定 recordAppendOptions
标志,或者调用 Flush 方法。
适用于
BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)
在派生类中重写时,将使用序列中先前保留的空间来开始异步追加操作。
public:
IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
参数
- data
- ArraySegment<Byte>
将连接在一起并以记录形式追加的字节数组段的列表。
- nextUndoRecord
- SequenceNumber
用户指定顺序中下一条记录的序列号。
- previousRecord
- SequenceNumber
“上一个”顺序中下一条记录的序列号。
- recordAppendOptions
- RecordAppendOptions
RecordAppendOptions 的一个有效值,用于指定应如何写入数据。
- reservations
- ReservationCollection
一个 ReservationCollection,它包含应当用于此记录的预留。
- callback
- AsyncCallback
可选的异步回调,在追加完成时调用。
- state
- Object
用户提供的对象,用于将此特定异步追加请求与其他请求区别开来。
返回
一个 IAsyncResult,它表示可能仍处于挂起状态的异步追加。
例外
一个或多个自变量无效。
追加记录时,发生了 I/O 错误。
记录序列无法获得足够的可用空间来容纳新记录。
该方法是在序列已释放之后调用的。
注解
应将此方法返回的 IAsyncResult 传递给 EndAppend 方法,以确保追加操作完成并能够适当释放资源。 如果在异步追加过程中发生错误,则在使用此方法返回的 EndAppend 调用 IAsyncResult 方法之前,不会引发异常。
包含在 data
参数中的数据将连接成单个字节数组,以便以记录形式追加。 但在读取记录时,无法将数据重新拆分为数组段。
追加的记录将使用 reservations
参数指定的预留来占用先前已预留的空间。 如果追加成功,它将占用能容纳数据的最小预留区域,而该预留区域将从集合中移除。
通常,此方法在写入记录之前完成。 若要确保记录已写入,请使用 ForceFlush 参数指定 recordAppendOptions
标志,或者调用 Flush 方法。
适用于
BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)
在派生类中重写时,开始异步追加操作。
public:
IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult
参数
- data
- ArraySegment<Byte>
将连接在一起并以记录形式追加的字节数组段的列表。
- nextUndoRecord
- SequenceNumber
用户指定顺序中下一条记录的序列号。
- previousRecord
- SequenceNumber
“上一个”顺序中下一条记录的序列号。
- recordAppendOptions
- RecordAppendOptions
RecordAppendOptions 的一个有效值,用于指定应如何写入数据。
- callback
- AsyncCallback
可选的异步回调,在追加完成时调用。
- state
- Object
用户提供的对象,用于将此特定异步追加请求与其他请求区别开来。
返回
一个 IAsyncResult,它表示可能仍处于挂起状态的异步追加。
例外
一个或多个自变量无效。
追加记录时,发生了 I/O 错误。
记录序列无法获得足够的可用空间来容纳新记录。
该方法是在序列已释放之后调用的。
注解
应将此方法返回的 IAsyncResult 传递给 EndAppend 方法,以确保追加操作完成并能够适当释放资源。 如果在异步追加过程中发生错误,则在使用此方法返回的 EndAppend 调用 IAsyncResult 方法之前,不会引发异常。
包含在 data
参数中的数据将连接成单个字节数组,以便以记录形式追加。 但在读取记录时,无法将数据重新拆分为数组段。
通常,此方法在写入记录之前完成。 若要确保记录已写入,请使用 ForceFlush 参数指定 recordAppendOptions
标志,或者调用 Flush 方法。
适用于
BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)
在派生类中重写时,将使用序列中先前保留的空间来开始异步追加操作。
public:
IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult
参数
- data
- IList<ArraySegment<Byte>>
将连接在一起并以记录形式追加的字节数组段的列表。
- nextUndoRecord
- SequenceNumber
用户指定顺序中下一条记录的序列号。
- previousRecord
- SequenceNumber
“上一个”顺序中下一条记录的序列号。
- recordAppendOptions
- RecordAppendOptions
RecordAppendOptions 的一个有效值,用于指定应如何写入数据。
- callback
- AsyncCallback
可选的异步回调,在追加完成时调用。
- state
- Object
用户提供的对象,用于将此特定异步追加请求与其他请求区别开来。
返回
一个 IAsyncResult,它表示可能仍处于挂起状态的异步追加。
例外
一个或多个自变量无效。
追加记录时,发生了 I/O 错误。
记录序列无法获得足够的可用空间来容纳新记录。
该方法是在序列已释放之后调用的。
注解
应将此方法返回的 IAsyncResult 传递给 EndAppend 方法,以确保追加操作完成并能够适当释放资源。 如果在异步追加过程中发生错误,则在使用此方法返回的 EndAppend 调用 IAsyncResult 方法之前,不会引发异常。
包含在 data
参数中的数据将连接成单个字节数组,以便以记录形式追加。 但在读取记录时,无法将数据重新拆分为数组段。
通常,此方法在写入记录之前完成。 若要确保记录已写入,请使用 ForceFlush 参数指定 recordAppendOptions
标志,或者调用 Flush 方法。