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


IRecordSequence.BeginWriteRestartArea Метод

Определение

При переопределении в производном классе начинает асинхронную операцию записи области перезапуска.

Перегрузки

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

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

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

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

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

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

public:
 IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, 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
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSequenceNumber As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

data
ArraySegment<Byte>

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

newBaseSequenceNumber
SequenceNumber

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

reservation
ReservationCollection

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

callback
AsyncCallback

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

state
Object

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

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

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

Комментарии

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

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

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

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

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

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

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

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

public:
 IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, 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
Public Function BeginWriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSequenceNumber As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

data
IList<ArraySegment<Byte>>

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

newBaseSequenceNumber
SequenceNumber

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

reservation
ReservationCollection

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

callback
AsyncCallback

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

state
Object

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

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

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

Исключения

Один или несколько аргументов являются недопустимыми.

При записи в область перезапуска произошла ошибка ввода-вывода.

Последовательности записей не удалось выделить достаточно свободного пространства для новой записи.

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

Комментарии

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

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

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

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

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

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