LogRecordSequence.BeginAppend Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Начинает асинхронную операцию добавления.
Перегрузки
| Имя | Описание |
|---|---|
| BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object) |
Начинает асинхронную операцию добавления. Этот метод нельзя наследовать. |
| BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object) |
Начинает асинхронную операцию добавления. Этот метод нельзя наследовать. |
| BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object) |
Начинает асинхронную операцию добавления. Этот метод нельзя наследовать. |
| BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object) |
Начинает асинхронную операцию добавления. Этот метод нельзя наследовать. |
BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)
Начинает асинхронную операцию добавления. Этот метод нельзя наследовать.
public:
virtual 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
override this.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 представляющий асинхронное добавление, которое по-прежнему может быть ожидающим.
Реализации
Исключения
nextUndoRecord или previousRecord недопустимый для этой последовательности.
–или–
data невозможно добавить, так как он превышает максимальный размер записи.
–или–
reservations не был создан этой последовательностью записей.
Один или несколько аргументов.null
nextUndoRecord или previousRecord не находится между базовыми и последними номерами последовательности этой последовательности.
Не удалось выполнить запрос из-за неожиданного исключения ввода-вывода.
–или–
Не удалось выполнить запрос из-за ошибки устройства ввода-вывода.
Невозможно выполнить операцию, так как последовательность записей была открыта с доступом только для чтения.
Метод был вызван после удаления последовательности.
Недостаточно памяти для продолжения выполнения программы.
Последовательность записей заполнена.
Доступ к указанной последовательности журналов запрещен операционной системой.
Комментарии
Необходимо передать IAsyncResult возвращенный этим методом методу EndAppend , чтобы убедиться, что операция добавления завершена, и ресурсы можно освободить соответствующим образом. Если во время асинхронного добавления произошла ошибка, исключение не возникает, пока EndAppend метод не вызывается с IAsyncResult возвращаемым этим методом.
Данные, содержащиеся в параметре data , будут объединяться в один массив байтов для добавления в качестве записи. Однако при чтении записи не выполняется подготовка для разделения данных обратно на сегменты массива.
Как правило, этот метод завершается до записи. Чтобы убедиться, что запись была записана, укажите ForceFlush флаг с помощью recordAppendOptions параметра или вызовите Flush метод.
Применяется к
BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)
Начинает асинхронную операцию добавления. Этот метод нельзя наследовать.
public:
virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, 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 userRecord, 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
override this.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)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult
Параметры
- data
- IList<ArraySegment<Byte>>
Список сегментов массива байтов, которые будут сцеплены и добавлены в качестве записи.
- userRecord
- SequenceNumber
Порядковый номер следующей записи в указанном пользователем порядке.
- previousRecord
- SequenceNumber
Порядковый номер следующей записи в предыдущем порядке.
- recordAppendOptions
- RecordAppendOptions
Допустимое значение RecordAppendOptions , указывающее, как должны быть записаны данные.
- callback
- AsyncCallback
Необязательный асинхронный обратный вызов, вызываемый при завершении добавления.
- state
- Object
Предоставленный пользователем объект, который отличает этот конкретный асинхронный запрос на добавление от других запросов.
Возвращаемое значение
Объект, IAsyncResult представляющий асинхронное добавление, которое по-прежнему может быть ожидающим.
Реализации
Исключения
userRecord или previousRecord недопустимый для этой последовательности.
–или–
data невозможно добавить, так как он превышает максимальный размер записи.
–или–
reservations не был создан этой последовательностью записей.
Один или несколько аргументов.null
userRecord или previousRecord не находится между базовыми и последними номерами последовательности этой последовательности.
Не удалось выполнить запрос из-за неожиданного исключения ввода-вывода.
–или–
Не удалось выполнить запрос из-за ошибки устройства ввода-вывода.
Невозможно выполнить операцию, так как последовательность записей была открыта с доступом только для чтения.
Метод был вызван после удаления последовательности.
Недостаточно памяти для продолжения выполнения программы.
Последовательность записей заполнена.
Доступ к указанной последовательности журналов запрещен операционной системой.
Комментарии
Необходимо передать IAsyncResult возвращенный этим методом методу EndAppend , чтобы убедиться, что операция добавления завершена, и ресурсы можно освободить соответствующим образом. Если во время асинхронного добавления произошла ошибка, исключение не возникает, пока EndAppend метод не вызывается с IAsyncResult возвращаемым этим методом.
Данные, содержащиеся в параметре data , будут объединяться в один массив байтов для добавления в качестве записи. Однако при чтении записи не выполняется подготовка для разделения данных обратно на сегменты массива.
Как правило, этот метод завершается до записи. Чтобы убедиться, что запись была записана, укажите ForceFlush флаг с помощью recordAppendOptions параметра или вызовите Flush метод.
Применяется к
BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)
Начинает асинхронную операцию добавления. Этот метод нельзя наследовать.
public:
virtual 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
override this.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 представляющий асинхронное добавление, которое по-прежнему может быть ожидающим.
Реализации
Исключения
userRecord или previousRecord недопустимый для этой последовательности.
–или–
data невозможно добавить, так как он превышает максимальный размер записи.
–или–
reservations не был создан этой последовательностью записей.
Один или несколько аргументов.null
userRecord или previousRecord не находится между базовыми и последними номерами последовательности этой последовательности.
Не удалось выполнить запрос из-за неожиданного исключения ввода-вывода.
–или–
Не удалось выполнить запрос из-за ошибки устройства ввода-вывода.
Невозможно выполнить операцию, так как последовательность записей была открыта с доступом только для чтения.
Метод был вызван после удаления последовательности.
Недостаточно памяти для продолжения выполнения программы.
Последовательность записей заполнена.
Доступ к указанной последовательности журналов запрещен операционной системой.
В ней нет достаточно большого резервирования, чтобы его можно data было найти reservations.
Комментарии
Необходимо передать IAsyncResult возвращенный этим методом методу EndAppend , чтобы убедиться, что операция добавления завершена, и ресурсы можно освободить соответствующим образом. Если во время асинхронного добавления произошла ошибка, исключение не возникает, пока EndAppend метод не вызывается с IAsyncResult возвращаемым этим методом.
Данные, содержащиеся в параметре data , будут объединяться в один массив байтов для добавления в качестве записи. Однако при чтении записи не выполняется подготовка для разделения данных обратно на сегменты массива.
Добавленная запись будет использовать пространство, ранее зарезервированное с помощью резервирования, указанного параметром reservations . Если добавление успешно выполнено, оно будет использовать наименьшую область резервирования, которая может содержать данные, и эта область резервирования будет удалена из коллекции.
Как правило, этот метод завершается до записи. Чтобы убедиться, что запись была записана, укажите ForceFlush флаг с помощью recordAppendOptions параметра или вызовите Flush метод.
Применяется к
BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)
Начинает асинхронную операцию добавления. Этот метод нельзя наследовать.
public:
virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, System::IO::Log::SequenceNumber previousRecord, 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 userRecord, System.IO.Log.SequenceNumber previousRecord, 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
override this.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)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
Параметры
- data
- IList<ArraySegment<Byte>>
Список сегментов массива байтов, которые будут сцеплены и добавлены в качестве записи.
- userRecord
- SequenceNumber
Порядковый номер следующей записи в указанном пользователем порядке.
- previousRecord
- SequenceNumber
Порядковый номер следующей записи в предыдущем порядке.
- recordAppendOptions
- RecordAppendOptions
Допустимое значение RecordAppendOptions , указывающее, как должны быть записаны данные.
- reservations
- ReservationCollection
Объект, ReservationCollection содержащий резервирование, которое должно использоваться для этой записи.
- callback
- AsyncCallback
Необязательный асинхронный обратный вызов, вызываемый при завершении добавления.
- state
- Object
Предоставленный пользователем объект, который отличает этот конкретный асинхронный запрос на добавление от других запросов.
Возвращаемое значение
Объект, IAsyncResult представляющий асинхронное добавление, которое по-прежнему может быть ожидающим.
Реализации
Исключения
userRecord или previousRecord недопустимый для этой последовательности.
–или–
data невозможно добавить, так как он превышает максимальный размер записи.
–или–
reservations не был создан этой последовательностью записей.
Один или несколько аргументов.null
userRecord или previousRecord не находится между базовыми и последними номерами последовательности этой последовательности.
Не удалось выполнить запрос из-за неожиданного исключения ввода-вывода.
–или–
Не удалось выполнить запрос из-за ошибки устройства ввода-вывода.
Невозможно выполнить операцию, так как последовательность записей была открыта с доступом только для чтения.
Метод был вызван после удаления последовательности.
Недостаточно памяти для продолжения выполнения программы.
Последовательность записей заполнена.
Доступ к указанной последовательности журналов запрещен операционной системой.
В ней нет достаточно большого резервирования, чтобы его можно data было найти reservations.
Комментарии
Необходимо передать IAsyncResult возвращенный этим методом методу EndAppend , чтобы убедиться, что операция добавления завершена, и ресурсы можно освободить соответствующим образом. Если во время асинхронного добавления произошла ошибка, исключение не возникает, пока EndAppend метод не вызывается с IAsyncResult возвращаемым этим методом.
Данные, содержащиеся в параметре data , будут объединяться в один массив байтов для добавления в качестве записи. Однако при чтении записи не выполняется подготовка для разделения данных обратно на сегменты массива.
Добавленная запись будет использовать пространство, ранее зарезервированное с помощью резервирования, указанного параметром reservations . Если добавление успешно выполнено, оно будет использовать наименьшую область резервирования, которая может содержать данные, и эта область резервирования будет удалена из коллекции.
Как правило, этот метод завершается до записи. Чтобы убедиться, что запись была записана, укажите ForceFlush флаг с помощью recordAppendOptions параметра или вызовите Flush метод.