FileRecordSequence.BeginWriteRestartArea Метод

Определение

Начинает асинхронную операцию записи области перезапуска.

Перегрузки

Имя Описание
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Начинает операцию записи в области асинхронного перезапуска, используя пространство, ранее зарезервированное в последовательности. Этот метод нельзя наследовать.

BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Начинает операцию записи в области асинхронного перезапуска, используя пространство, ранее зарезервированное в последовательности. Этот метод нельзя наследовать.

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Начинает операцию записи в области асинхронного перезапуска, используя пространство, ранее зарезервированное в последовательности. Этот метод нельзя наследовать.

public:
 virtual IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea(ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSeqNum As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

data
ArraySegment<Byte>

Список сегментов массива байтов, которые будут сцеплены и добавлены в качестве записи.

newBaseSeqNum
SequenceNumber

Новый базовый номер последовательности. Указанный номер последовательности должен быть больше или равен текущему базовому номеру последовательности.

reservation
ReservationCollection

Объект, ReservationCollection содержащий резервирование, которое должно использоваться для этой области перезапуска.

callback
AsyncCallback

Необязательный асинхронный обратный вызов, который будет вызываться при завершении записи области перезапуска.

state
Object

Предоставленный пользователем объект, который отличает этот конкретный запрос на запись в области асинхронного перезапуска от других запросов.

Возвращаемое значение

Объект, IAsyncResult представляющий операцию записи в области асинхронного перезапуска, которая по-прежнему может находиться в состоянии ожидания.

Реализации

Исключения

Один или несколько аргументов.null

newBaseSeqNum не находится между базовыми и последними номерами последовательности этой последовательности.

–или–

Недопустимый новый или существующий архивный хвост или база активного журнала.

reservations не был создан этой последовательностью записей.

–или–

newBaseSeqNum недопустимо для этой последовательности.

Невозможно выполнить операцию, так как последовательность записей была открыта с доступом только для чтения.

Невозможно выполнить запрос из-за неожиданного исключения ввода-вывода.

Метод был вызван после удаления последовательности.

Недостаточно памяти для продолжения выполнения программы.

Последовательность записей заполнена.

В ней нет достаточно большого резервирования, чтобы его можно data было найти reservations.

Комментарии

Необходимо передать IAsyncResult возвращенный этим методом методу EndWriteRestartArea , чтобы убедиться, что операция записи области перезапуска завершена, а ресурсы можно освободить соответствующим образом. Если во время операции записи в области асинхронного перезапуска произошла ошибка, исключение не создается, пока EndWriteRestartArea метод не вызывается с IAsyncResult возвращаемым этим методом.

Данные, содержащиеся в параметре data , будут объединяться в один массив байтов для добавления в качестве записи. Однако при чтении записи не выполняется подготовка для разделения данных обратно на сегменты массива.

После успешного завершения операции базовый порядковый номер был обновлен. Все записи журнала с номерами последовательности меньше нового базового номера последовательности недоступны.

ReservationCollection Если задано, область записи перезапуска будет использовать пространство, которое ранее зарезервировано, используя резервирование, содержащееся в коллекции. Если метод успешно выполнен, он будет использовать наименьшее резервирование, которое может содержать данные, и это резервирование будет удалено из коллекции.

Если последовательность записей была удалена или вы передаете недопустимый аргумент, исключения создаются немедленно в рамках этой операции. Ошибки, возникающие во время асинхронного запроса на добавление, например сбой диска во время запроса ввода-вывода, приведет к возникновению исключений при EndWriteRestartArea вызове метода.

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

BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Начинает операцию записи в области асинхронного перезапуска, используя пространство, ранее зарезервированное в последовательности. Этот метод нельзя наследовать.

public:
 virtual IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea(System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSeqNum As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

data
IList<ArraySegment<Byte>>

Список сегментов массива байтов, которые будут сцеплены и добавлены в качестве записи.

newBaseSeqNum
SequenceNumber

Новый базовый номер последовательности. Указанный номер последовательности должен быть больше или равен текущему базовому номеру последовательности.

reservation
ReservationCollection

Объект, ReservationCollection содержащий резервирование, которое должно использоваться для этой области перезапуска.

callback
AsyncCallback

Необязательный асинхронный обратный вызов, который будет вызываться при завершении записи области перезапуска.

state
Object

Предоставленный пользователем объект, который отличает этот конкретный запрос на запись в области асинхронного перезапуска от других запросов.

Возвращаемое значение

Объект, IAsyncResult представляющий операцию записи в области асинхронного перезапуска, которая по-прежнему может находиться в состоянии ожидания.

Реализации

Исключения

Один или несколько аргументов.null

newBaseSeqNum не находится между базовыми и последними номерами последовательности этой последовательности.

–или–

Недопустимый новый или существующий архивный хвост или база активного журнала.

reservations не был создан этой последовательностью записей.

–или–

newBaseSeqNum недопустимо для этой последовательности.

Невозможно выполнить операцию, так как последовательность записей была открыта с доступом только для чтения.

Невозможно выполнить запрос из-за неожиданного исключения ввода-вывода.

Метод был вызван после удаления последовательности.

Недостаточно памяти для продолжения выполнения программы.

Последовательность записей заполнена.

В ней нет достаточно большого резервирования, чтобы его можно data было найти reservations.

Комментарии

Необходимо передать IAsyncResult возвращенный этим методом методу EndWriteRestartArea , чтобы убедиться, что операция записи области перезапуска завершена, а ресурсы можно освободить соответствующим образом. Если во время операции записи в области асинхронного перезапуска произошла ошибка, исключение не создается, пока EndWriteRestartArea метод не вызывается с IAsyncResult возвращаемым этим методом.

Данные, содержащиеся в параметре data , будут объединяться в один массив байтов для добавления в качестве записи. Однако при чтении записи не выполняется подготовка для разделения данных обратно на сегменты массива.

После успешного завершения операции базовый порядковый номер был обновлен. Все записи журнала с номерами последовательности меньше нового базового номера последовательности недоступны.

ReservationCollection Если задано, область записи перезапуска будет использовать пространство, которое ранее зарезервировано, используя резервирование, содержащееся в коллекции. Если метод успешно выполнен, он будет использовать наименьшее резервирование, которое может содержать данные, и это резервирование будет удалено из коллекции.

Если последовательность записей была удалена или вы передаете недопустимый аргумент, исключения создаются немедленно в рамках этой операции. Ошибки, возникающие во время асинхронного запроса на добавление, например сбой диска во время запроса ввода-вывода, приведет к возникновению исключений при EndWriteRestartArea вызове метода.

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