Udostępnij za pośrednictwem


IRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Metoda

Definicja

Po zastąpieniu w klasie pochodnej rozpoczyna asynchroniczną operację opróżniania, używając spacji zarezerwowanej wcześniej w sekwencji.

public:
 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
Public Function BeginFlush (sequenceNumber As SequenceNumber, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

sequenceNumber
SequenceNumber

Numer sekwencji najnowszego rekordu, który musi zostać zapisany. Jeśli jest to SequenceNumber nieprawidłowe, wszystkie rekordy muszą być zapisywane.

callback
AsyncCallback

Opcjonalne wywołanie asynchroniczne, które ma być wywoływane po zakończeniu opróżniania.

state
Object

Obiekt dostarczony przez użytkownika, który odróżnia to konkretne żądanie asynchronicznego opróżniania od innych żądań.

Zwraca

Element IAsyncResult reprezentujący operację asynchronicznego opróżniania, która nadal może być oczekująca.

Wyjątki

Co najmniej jeden argument jest nieprawidłowy.

Wystąpił błąd we/wy podczas opróżniania danych.

Metoda została wywołana po usunięciu sekwencji.

Uwagi

Należy przekazać IAsyncResult element zwrócony przez bieżącą metodę do EndFlush metody , aby upewnić się, że opróżnianie zakończy się i zasoby zostaną odpowiednio zwolnione. Jeśli podczas opróżniania asynchronicznego wystąpi błąd, wyjątek nie zostanie zgłoszony, dopóki EndFlush metoda nie zostanie wywołana za pomocą metody zwróconej IAsyncResult przez tę metodę.

Wywołanie tej metody gwarantuje, że wszystkie rekordy, które zostały dołączone do obiektu IRecordSequence , są trwale zapisywane.

Jeśli sekwencja rekordów została usunięta lub jeśli przekazano nieprawidłowy argument, wyjątki są zgłaszane natychmiast w ramach tej operacji. Błędy, które wystąpiły podczas asynchronicznego żądania opróżniania, na przykład błąd dysku podczas żądania we/wy, spowodują zgłoszenie wyjątków podczas wywoływanej EndFlush metody.

Dotyczy