Поделиться через


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.

Применяется к