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


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.

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