LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Metod

Definition

Påbörjar en asynkron tömningsåtgärd med utrymme som tidigare reserverats i sekvensen. Den här metoden kan inte ärvas.

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

Parametrar

sequenceNumber
SequenceNumber

Sekvensnumret för den senaste posten som måste skrivas. Om detta SequenceNumber är ogiltigt måste alla poster skrivas.

callback
AsyncCallback

Ett valfritt asynkront återanrop som ska anropas när tömningen är klar.

state
Object

Ett objekt som tillhandahålls av användaren och som skiljer den här specifika asynkrona tömningsbegäran från andra begäranden.

Returer

En IAsyncResult som representerar den asynkrona tömningsåtgärden, som fortfarande kan vara väntande.

Implementeringar

Undantag

sequenceNumber är inte giltig för den här sekvensen.

sequenceNumber är inte mellan bas- och sista sekvensnumren i den här sekvensen.

Det gick inte att utföra begäran på grund av ett oväntat I/O-undantag.

Den angivna loggen har inga omfattningar. En eller flera omfattningar måste skapas innan en postsekvens kan användas.

Det går inte att utföra åtgärden eftersom postsekvensen öppnades med skrivskyddad åtkomst.

Metoden anropades efter att sekvensen har tagits bort.

Det finns inte tillräckligt med minne för att fortsätta körningen av programmet.

Postsekvensen är full.

Åtkomst för den angivna loggsekvensen nekas av operativsystemet.

Kommentarer

Du bör skicka den IAsyncResult som returneras av den aktuella metoden till EndFlush metoden för att säkerställa att tömningen slutförs och att resurserna frigörs på rätt sätt. Om ett fel inträffar under en asynkron tömning utlöses inte ett undantag förrän EndFlush metoden anropas med den IAsyncResult returnerade metoden.

Genom att anropa den här metoden ser du till att alla poster som har lagts till i LogRecordSequence skrivs korrekt.

Om en postsekvens har tagits bort eller om du skickar ett ogiltigt argument utlöses undantag omedelbart inom den här åtgärden. Fel som inträffade under en asynkron tömningsbegäran, till exempel ett diskfel under I/O-begäran, resulterar i att undantag utlöses när EndFlush metoden anropas.

Gäller för