LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.