IRecordSequence.BeginAppend Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
При переопределении в производном классе начинает асинхронную операцию добавления.
Перегрузки
BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object) |
При переопределении в производном классе начинает асинхронную операцию добавления, используя пространство, которое было ранее зарезервировано в последовательности. |
BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object) |
При переопределении в производном классе начинает асинхронную операцию добавления, используя пространство, которое было ранее зарезервировано в последовательности. |
BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object) |
При переопределении в производном классе начинает асинхронную операцию добавления. |
BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object) |
При переопределении в производном классе начинает асинхронную операцию добавления, используя пространство, которое было ранее зарезервировано в последовательности. |
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, представляющий асинхронное добавление, которое может все еще ожидать выполнения.
Исключения
Один или несколько аргументов являются недопустимыми.
При добавлении записи произошла ошибка ввода-вывода.
Последовательности записей не удалось выделить достаточно свободного пространства для новой записи.
Метод был вызван после удаления последовательности.
Комментарии
Чтобы обеспечить завершение операции добавления и освободить соответствующие ресурсы, необходимо передать значение 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, представляющий асинхронное добавление, которое может все еще ожидать выполнения.
Исключения
Один или несколько аргументов являются недопустимыми.
При добавлении записи произошла ошибка ввода-вывода.
Последовательности записей не удалось выделить достаточно свободного пространства для новой записи.
Метод был вызван после удаления последовательности.
Комментарии
Чтобы обеспечить завершение операции добавления и освободить соответствующие ресурсы, необходимо передать значение 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, представляющий асинхронное добавление, которое может все еще ожидать выполнения.
Исключения
Один или несколько аргументов являются недопустимыми.
При добавлении записи произошла ошибка ввода-вывода.
Последовательности записей не удалось выделить достаточно свободного пространства для новой записи.
Метод был вызван после удаления последовательности.
Комментарии
Чтобы обеспечить завершение операции добавления и освободить соответствующие ресурсы, необходимо передать значение 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, представляющий асинхронное добавление, которое может все еще ожидать выполнения.
Исключения
Один или несколько аргументов являются недопустимыми.
При добавлении записи произошла ошибка ввода-вывода.
Последовательности записей не удалось выделить достаточно свободного пространства для новой записи.
Метод был вызван после удаления последовательности.
Комментарии
Чтобы обеспечить завершение операции добавления и освободить соответствующие ресурсы, необходимо передать значение IAsyncResult, возвращенное этим методом, в метод EndAppend. Если ошибка возникла при выполнении асинхронного добавления, исключение не будет создано до тех пор, пока метод EndAppend не будет вызван со значением IAsyncResult, возвращенным данным методом.
Данные, содержащиеся в параметре data
, будут сцеплены в единый массив байтов для добавления в качестве записи. Однако не делается допущение об обратном разделении данных на фрагменты массива при чтении записи.
Обычно этот метод завершает работу до того, как запись будет записана. Чтобы запись точно была записана, либо укажите флаг ForceFlush с помощью параметра recordAppendOptions
, либо вызовите метод Flush.