LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Methode

Definition

Beginnt einen asynchronen Flush-Vorgang, wobei der zuvor reservierte Speicherplatz in der Sequenz verwendet wird. Diese Methode kann nicht geerbt werden.

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

Parameter

sequenceNumber
SequenceNumber

Die Sequenznummer des neuesten Datensatzes, der geschrieben werden muss. Wenn dies SequenceNumber ungültig ist, müssen alle Datensätze geschrieben werden.

callback
AsyncCallback

Ein optionaler asynchroner Rückruf, der aufgerufen werden soll, wenn die Spülung abgeschlossen ist.

state
Object

Ein vom Benutzer bereitgestelltes Objekt, das diese spezielle asynchrone Flush-Anforderung von anderen Anforderungen unterscheidet.

Gibt zurück

Ein IAsyncResult Wert, der den asynchronen Löschvorgang darstellt, der noch aussteht.

Implementiert

Ausnahmen

sequenceNumber ist für diese Sequenz ungültig.

sequenceNumber ist nicht zwischen der Basis- und der letzten Sequenznummer dieser Sequenz.

Die Anforderung konnte aufgrund einer unerwarteten E/A-Ausnahme nicht ausgeführt werden.

Das angegebene Protokoll hat keine Ausdehnungen. Mindestens ein Umfang muss erstellt werden, bevor eine Datensatzsequenz verwendet werden kann.

Der Vorgang kann nicht ausgeführt werden, da die Datensatzsequenz mit schreibgeschütztem Zugriff geöffnet wurde.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Es ist nicht genügend Arbeitsspeicher vorhanden, um die Ausführung des Programms fortzusetzen.

Die Datensatzsequenz ist voll.

Der Zugriff auf die angegebene Protokollsequenz wird vom Betriebssystem verweigert.

Hinweise

Sie sollten die IAsyncResult von der aktuellen Methode zurückgegebene Methode an die EndFlush Methode übergeben, um sicherzustellen, dass die Leeren abgeschlossen und Ressourcen entsprechend freigegeben werden. Wenn während eines asynchronen Leerens ein Fehler auftritt, wird eine Ausnahme erst ausgelöst, wenn die EndFlush Methode mit der IAsyncResult von dieser Methode zurückgegebenen Methode aufgerufen wird.

Durch Aufrufen dieser Methode wird sichergestellt, dass alle Datensätze, die an die LogRecordSequence Angefügt wurden, dauerhaft geschrieben werden.

Wenn eine Datensatzsequenz verworfen wurde oder Wenn Sie ein ungültiges Argument übergeben, werden Ausnahmen sofort innerhalb dieses Vorgangs ausgelöst. Fehler, die während einer asynchronen Leerenanforderung aufgetreten sind, z. B. ein Datenträgerfehler während der E/A-Anforderung, führen dazu, dass Ausnahmen ausgelöst werden, wenn die EndFlush Methode aufgerufen wird.

Gilt für: