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 вызове метода.