Freigeben über


FileRecordSequence.BeginAppend Methode

Definition

Startet einen asynchronen Anfügevorgang.

Überlädt

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Startet einen asynchronen Anfügevorgang und verwendet Speicherplatz, der zuvor in der Sequenz reserviert wurde. Diese Methode kann nicht vererbt werden.

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Startet einen asynchronen Anfügevorgang und verwendet Speicherplatz, der zuvor in der Sequenz reserviert wurde. Diese Methode kann nicht vererbt werden.

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Startet einen asynchronen Anfügevorgang. Diese Methode kann nicht vererbt werden.

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Startet einen asynchronen Anfügevorgang. Diese Methode kann nicht vererbt werden.

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Startet einen asynchronen Anfügevorgang und verwendet Speicherplatz, der zuvor in der Sequenz reserviert wurde. Diese Methode kann nicht vererbt werden.

public:
 virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

data
IList<ArraySegment<Byte>>

Eine Liste von Bytearraysegmenten, die verkettet und als Datensatz angefügt werden.

nextUndoRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in der vom Benutzer angegebenen Reihenfolge.

previousRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in vorheriger Reihenfolge.

recordAppendOptions
RecordAppendOptions

Ein gültiger Wert für RecordAppendOptions, der angibt, wie die Daten geschrieben werden sollten.

reservations
ReservationCollection

Eine ReservationCollection, die die Reservierung enthält, die für diesen Datensatz verwendet werden sollte.

callback
AsyncCallback

Ein optionaler asynchroner Rückruf, der nach Abschluss des Anfügevorgangs aufgerufen wird.

state
Object

Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Anfügeanforderung von anderen Anforderungen unterscheidet.

Gibt zurück

Ein IAsyncResult, das den asynchronen Anfügevorgang darstellt, der möglicherweise noch aussteht.

Implementiert

Ausnahmen

Mindestens ein Argument ist null.

Mindestens ein Argument liegt außerhalb des Bereichs.

reservations wurde nicht von dieser Datensatzsequenz erstellt.

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

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

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.

Keine Reservierung, die groß genug für data ist, kann in reservations gefunden werden.

Hinweise

Sie sollten das von der dieser Methode zurückgegebene IAsyncResult an die EndAppend-Methode weiterleiten, um sicherzustellen, dass der Anfügevorgang abgeschlossen ist und die Ressourcen korrekt freigegeben werden können. Wenn während eines asynchronen Anfügevorgangs ein Fehler aufgetreten ist, wird erst dann eine Ausnahme ausgelöst, wenn die EndAppend-Methode mit dem von dieser Methode zurückgegebenen IAsyncResult aufgerufen wird.

Die im data-Parameter enthaltenen Daten werden zum Anfügen als Datensatz in einem Array mit einem Byte verkettet. Die Daten können jedoch nicht wieder in Arraysegmente aufgeteilt werden, nachdem der Datensatz gelesen wurde.

Der angefügte Datensatz, der zuvor mithilfe einer vom reservations-Parameter angegebenen Reservierung reserviert wurde, nimmt Speicherplatz ein. Wenn der Anfügevorgang erfolgreich ist, wird der kleinstmögliche Reservierungsbereich verwendet, der die Daten aufnehmen kann. Dieser Reservierungsbereich wird dann aus der Auflistung entfernt.

Normalerweise ist diese Methode abgeschlossen, bevor der Datensatz geschrieben wird. Um sicherzustellen, dass ein Datensatz geschrieben wurde, geben Sie entweder das ForceFlush-Flag mithilfe des recordAppendOptions-Parameters an, oder rufen Sie die Flush-Methode auf.

Gilt für:

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Startet einen asynchronen Anfügevorgang und verwendet Speicherplatz, der zuvor in der Sequenz reserviert wurde. Diese Methode kann nicht vererbt werden.

public:
 virtual IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

data
ArraySegment<Byte>

Eine Liste von Bytearraysegmenten, die verkettet und als Datensatz angefügt werden.

nextUndoRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in der vom Benutzer angegebenen Reihenfolge.

previousRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in vorheriger Reihenfolge.

recordAppendOptions
RecordAppendOptions

Ein gültiger Wert für RecordAppendOptions, der angibt, wie die Daten geschrieben werden sollten.

reservations
ReservationCollection

Eine ReservationCollection, die die Reservierung enthält, die für diesen Datensatz verwendet werden sollte.

callback
AsyncCallback

Ein optionaler asynchroner Rückruf, der nach Abschluss des Anfügevorgangs aufgerufen wird.

state
Object

Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Anfügeanforderung von anderen Anforderungen unterscheidet.

Gibt zurück

Ein IAsyncResult, das den asynchronen Anfügevorgang darstellt, der möglicherweise noch aussteht.

Implementiert

Ausnahmen

Mindestens ein Argument ist null.

Mindestens ein Argument liegt außerhalb des Bereichs.

reservations wurde nicht von dieser Datensatzsequenz erstellt.

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

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

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.

Keine Reservierung, die groß genug für data ist, kann in reservations gefunden werden.

Hinweise

Sie sollten das von der dieser Methode zurückgegebene IAsyncResult an die EndAppend-Methode weiterleiten, um sicherzustellen, dass der Anfügevorgang abgeschlossen ist und die Ressourcen korrekt freigegeben werden können. Wenn während eines asynchronen Anfügevorgangs ein Fehler aufgetreten ist, wird erst dann eine Ausnahme ausgelöst, wenn die EndAppend-Methode mit dem von dieser Methode zurückgegebenen IAsyncResult aufgerufen wird.

Die im data-Parameter enthaltenen Daten werden zum Anfügen als Datensatz in einem Array mit einem Byte verkettet. Die Daten können jedoch nicht wieder in Arraysegmente aufgeteilt werden, nachdem der Datensatz gelesen wurde.

Der angefügte Datensatz, der zuvor mithilfe einer vom reservations-Parameter angegebenen Reservierung reserviert wurde, nimmt Speicherplatz ein. Wenn der Anfügevorgang erfolgreich ist, wird der kleinstmögliche Reservierungsbereich verwendet, der die Daten aufnehmen kann. Dieser Reservierungsbereich wird dann aus der Auflistung entfernt.

Normalerweise ist diese Methode abgeschlossen, bevor der Datensatz geschrieben wird. Um sicherzustellen, dass ein Datensatz geschrieben wurde, geben Sie entweder das ForceFlush-Flag mithilfe des recordAppendOptions-Parameters an, oder rufen Sie die Flush-Methode auf.

Gilt für:

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Startet einen asynchronen Anfügevorgang. Diese Methode kann nicht vererbt werden.

public:
 virtual IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

data
ArraySegment<Byte>

Eine Liste von Bytearraysegmenten, die verkettet und als Datensatz angefügt werden.

nextUndoRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in der vom Benutzer angegebenen Reihenfolge.

previousRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in vorheriger Reihenfolge.

recordAppendOptions
RecordAppendOptions

Ein gültiger Wert für RecordAppendOptions, der angibt, wie die Daten geschrieben werden sollten.

callback
AsyncCallback

Ein optionaler asynchroner Rückruf, der nach Abschluss des Anfügevorgangs aufgerufen wird.

state
Object

Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Anfügeanforderung von anderen Anforderungen unterscheidet.

Gibt zurück

Ein IAsyncResult, das den asynchronen Anfügevorgang darstellt, der möglicherweise noch aussteht.

Implementiert

Ausnahmen

Mindestens ein Argument ist null.

Mindestens ein Argument liegt außerhalb des Bereichs.

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

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

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.

Hinweise

Sie sollten das von der dieser Methode zurückgegebene IAsyncResult an die EndAppend-Methode weiterleiten, um sicherzustellen, dass der Anfügevorgang abgeschlossen ist und die Ressourcen korrekt freigegeben werden können. Wenn während eines asynchronen Anfügevorgangs ein Fehler aufgetreten ist, wird erst dann eine Ausnahme ausgelöst, wenn die EndAppend-Methode mit dem von dieser Methode zurückgegebenen IAsyncResult aufgerufen wird.

Die im data-Parameter enthaltenen Daten werden zum Anfügen als Datensatz in einem Array mit einem Byte verkettet. Die Daten können jedoch nicht wieder in Arraysegmente aufgeteilt werden, nachdem der Datensatz gelesen wurde.

Normalerweise ist diese Methode abgeschlossen, bevor der Datensatz geschrieben wird. Um sicherzustellen, dass ein Datensatz geschrieben wurde, geben Sie entweder das ForceFlush-Flag mithilfe des recordAppendOptions-Parameters an, oder rufen Sie die Flush-Methode auf.

Gilt für:

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Startet einen asynchronen Anfügevorgang. Diese Methode kann nicht vererbt werden.

public:
 virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

data
IList<ArraySegment<Byte>>

Eine Liste von Bytearraysegmenten, die verkettet und als Datensatz angefügt werden.

nextUndoRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in der vom Benutzer angegebenen Reihenfolge.

previousRecord
SequenceNumber

Die Sequenznummer des nächsten Datensatzes in vorheriger Reihenfolge.

recordAppendOptions
RecordAppendOptions

Ein gültiger Wert für RecordAppendOptions, der angibt, wie die Daten geschrieben werden sollten.

callback
AsyncCallback

Ein optionaler asynchroner Rückruf, der nach Abschluss des Anfügevorgangs aufgerufen wird.

state
Object

Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Anfügeanforderung von anderen Anforderungen unterscheidet.

Gibt zurück

Ein IAsyncResult, das den asynchronen Anfügevorgang darstellt, der möglicherweise noch aussteht.

Implementiert

Ausnahmen

Mindestens ein Argument ist null.

Mindestens ein Argument liegt außerhalb des Bereichs.

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

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

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.

Hinweise

Sie sollten das von der dieser Methode zurückgegebene IAsyncResult an die EndAppend-Methode weiterleiten, um sicherzustellen, dass der Anfügevorgang abgeschlossen ist und die Ressourcen korrekt freigegeben werden können. Wenn während eines asynchronen Anfügevorgangs ein Fehler aufgetreten ist, wird erst dann eine Ausnahme ausgelöst, wenn die EndAppend-Methode mit dem von dieser Methode zurückgegebenen IAsyncResult aufgerufen wird.

Die im data-Parameter enthaltenen Daten werden zum Anfügen als Datensatz in einem Array mit einem Byte verkettet. Die Daten können jedoch nicht wieder in Arraysegmente aufgeteilt werden, nachdem der Datensatz gelesen wurde.

Normalerweise ist diese Methode abgeschlossen, bevor der Datensatz geschrieben wird. Um sicherzustellen, dass ein Datensatz geschrieben wurde, geben Sie entweder das ForceFlush-Flag mithilfe des recordAppendOptions-Parameters an, oder rufen Sie die Flush-Methode auf.

Gilt für: