LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Methode

Definition

Startet einen asynchronen Löschvorgang und verwendet Speicherplatz, der zuvor in der Sequenz reserviert wurde. Diese Methode kann nicht vererbt 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 letzten Datensatzes, der geschrieben werden muss. Wenn diese SequenceNumber ungültig ist, müssen alle Datensätze geschrieben werden.

callback
AsyncCallback

Ein optionaler asynchroner Rückruf, der nach Abschluss des Löschvorgangs aufgerufen wird.

state
Object

Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Löschanforderung von anderen Anforderungen unterscheidet.

Gibt zurück

Ein IAsyncResult, das den asynchronen Löschvorgang darstellt, der möglicherweise noch aussteht.

Implementiert

Ausnahmen

sequenceNumber ist für diese Sequenz nicht gültig.

sequenceNumber befindet sich nicht zwischen der Basissequenznummer und der letzten Sequenznummer dieser Sequenz.

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

Das angegebene Protokoll verfügt nicht über Wertebereiche. Ein oder mehrere Wertebereiche müssen 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.

Der Arbeitsspeicher reicht nicht aus, um die Ausführung des Programms fortzusetzen.

Die Datensatzsequenz ist voll.

Der Zugriff auf die angegebene Protokollsequenz wird vom Betriebssystem verweigert.

Hinweise

Sie sollten das von der aktuellen Methode ausgegebene IAsyncResult an die EndFlush-Methode weiterleiten, um sicherzustellen, dass der Löschvorgang abgeschlossen wird und die Ressourcen korrekt freigegeben werden. Wenn während eines asynchronen Löschvorgangs ein Fehler auftritt, wird erst dann eine Ausnahme ausgelöst, wenn die EndFlush-Methode mit dem von dieser Methode zurückgegebenen IAsyncResult aufgerufen wird.

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

Wenn eine Datensatzsequenz verworfen wurde oder wenn Sie ein ungültiges Argument weitergeben, werden unmittelbar während dieses Vorgangs Ausnahmen ausgelöst. Bei einer asynchronen Löschanforderung auftretende Fehler, z. B. Fehler auf dem Datenträger während der E/A-Anforderung, lösen beim Aufruf der EndFlush-Methode Ausnahmen aus.

Gilt für: