LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Metoda

Definice

Zahájí asynchronní operaci vyprazdnutí pomocí místa, které bylo dříve vyhrazeno v posloupnosti. Tuto metodu nelze zdědit.

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

Parametry

sequenceNumber
SequenceNumber

Pořadové číslo posledního záznamu, který musí být zapsán. Pokud je tato SequenceNumber hodnota neplatná, všechny záznamy musí být zapsány.

callback
AsyncCallback

Volitelné asynchronní zpětné volání, které se má volat po dokončení vyprázdnění.

state
Object

Objekt poskytovaný uživatelem, který rozlišuje tento konkrétní asynchronní požadavek na vyprázdnění od jiných požadavků.

Návraty

Jedná se o IAsyncResult asynchronní operaci vyprázdnění, která může být stále čekající.

Implementuje

Výjimky

sequenceNumber není pro tuto sekvenci platný.

sequenceNumber není mezi základním a posledním pořadovými čísly této sekvence.

Požadavek nelze provést kvůli neočekávané výjimce vstupně-výstupní operace.

Zadaný protokol nemá žádné rozsahy. Před použití sekvence záznamu musí být vytvořen jeden nebo více rozsahů.

Operaci nelze provést, protože sekvence záznamů byla otevřena s přístupem jen pro čtení.

Metoda byla volána po odstranění sekvence.

Pro pokračování v provádění programu není dostatek paměti.

Posloupnost záznamů je plná.

Operační systém odepře přístup k zadané sekvenci protokolu.

Poznámky

Měli byste předat IAsyncResult vrácenou aktuální metodou EndFlush metodě, aby se zajistilo, že se vyprazdnutí dokončí a prostředky budou uvolněny odpovídajícím způsobem. Pokud dojde k chybě během asynchronního vyprázdnění, výjimka není vyvolána, dokud EndFlush metoda není volána s IAsyncResult vrácenou touto metodou.

Volání této metody zajišťuje, že všechny záznamy, které byly připojeny k objektu LogRecordSequence jsou trvale zapsány.

Pokud je posloupnost záznamů uvolněna nebo pokud předáte neplatný argument, výjimky se v rámci této operace vyvolá okamžitě. Chyby, ke kterým došlo během asynchronního vyprázdnění požadavku, například selhání disku během V/V požadavku, způsobí vyvolání výjimek při EndFlush zavolání metody.

Platí pro