LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Метод

Определение

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

public:
 virtual IAsyncResult ^ BeginFlush(System::IO::Log::SequenceNumber sequenceNumber, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginFlush(System.IO.Log.SequenceNumber sequenceNumber, AsyncCallback callback, object state);
abstract member BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
override this.BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
Public Function BeginFlush (sequenceNumber As SequenceNumber, callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

sequenceNumber
SequenceNumber

Порядковый номер последней записи, которая должна быть записана. Если это SequenceNumber недопустимо, все записи должны быть записаны.

callback
AsyncCallback

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

state
Object

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

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

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

Реализации

Исключения

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

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

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

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

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

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

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

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

Доступ к указанной последовательности журналов запрещен операционной системой.

Комментарии

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

Вызов этого метода гарантирует, что все записи, добавленные к ней LogRecordSequence , записываются на основе данных.

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

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