IRecordSequence.BeginReserveAndAppend Methode

Definition

Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, beginnt ein asynchroner Reserve- und Anfügevorgang.

Überlädt

Name Beschreibung
BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, beginnt ein asynchroner Reserve- und Anfügevorgang.

BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, beginnt ein asynchroner Reserve- und Anfügevorgang.

BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, beginnt ein asynchroner Reserve- und Anfügevorgang.

public:
 IAsyncResult ^ BeginReserveAndAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, cli::array <long> ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReserveAndAppend(ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, long[] reservations, AsyncCallback callback, object state);
abstract member BeginReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
Public Function BeginReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, reservations As Long(), callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

data
ArraySegment<Byte>

Eine Liste der Bytearraysegmente, die als Datensatz verkettet und 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 der Vorherigen Reihenfolge.

recordAppendOptions
RecordAppendOptions

Ein gültiger Wert, der RecordAppendOptions angibt, wie die Daten geschrieben werden sollen.

reservationCollection
ReservationCollection

Die Reservierungssammlung, um Reservierungen vorzunehmen.

reservations
Int64[]

Die Reservierungen, die in Byte vorgenommen werden sollen.

callback
AsyncCallback

Ein optionaler asynchroner Rückruf, der aufgerufen werden soll, wenn das Anfügen abgeschlossen ist.

state
Object

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

Gibt zurück

Ein IAsyncResult Wert, der diesen asynchronen Vorgang darstellt, der noch aussteht.

Ausnahmen

Mindestens eines der Argumente ist ungültig.

Beim Anfügen des Datensatzes ist ein E/A-Fehler aufgetreten.

Die Datensatzsequenz konnte nicht genügend freien Speicherplatz zur Aufnahme des neuen Datensatzes oder zur Reservierung machen.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Hinweise

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

Daten, die data im Parameter enthalten sind, werden als Datensatz in ein einzelnes Bytearray verkettet. Beim Lesen des Datensatzes werden jedoch keine Daten wieder in Arraysegmente aufgeteilt.

Die angegebenen Reservierungen werden der bereitgestellten Reservierungsauflistung in einem Atomvorgang mit einem Datensatzanfügevorgang hinzugefügt. Wenn das Anfügen fehlschlägt, ist kein Leerzeichen reserviert.

Normalerweise kann diese Methode abgeschlossen werden, bevor der Datensatz geschrieben wurde. Um sicherzustellen, dass ein Datensatz geschrieben wurde, geben Sie entweder das ForceFlush Flag mit dem recordAppendOptions Parameter an, oder rufen Sie die Flush Methode auf.

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 Anfügeanforderung aufgetreten sind, z. B. ein Datenträgerfehler während der E/A-Anforderung, führen dazu, dass Ausnahmen ausgelöst werden, wenn die EndReserveAndAppend Methode aufgerufen wird.

Gilt für:

BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, beginnt ein asynchroner Reserve- und Anfügevorgang.

public:
 IAsyncResult ^ BeginReserveAndAppend(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 ^ reservationCollection, cli::array <long> ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReserveAndAppend(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 reservationCollection, long[] reservations, AsyncCallback callback, object state);
abstract member BeginReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
Public Function BeginReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, reservations As Long(), callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

data
IList<ArraySegment<Byte>>

Eine Liste der Bytearraysegmente, die als Datensatz verkettet und 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 der Vorherigen Reihenfolge.

recordAppendOptions
RecordAppendOptions

Ein gültiger Wert, der RecordAppendOptions angibt, wie die Daten geschrieben werden sollen.

reservationCollection
ReservationCollection

Die Reservierungssammlung, um Reservierungen vorzunehmen.

reservations
Int64[]

Die Reservierungen, die in Byte vorgenommen werden sollen.

callback
AsyncCallback

Ein optionaler asynchroner Rückruf, der aufgerufen werden soll, wenn das Anfügen abgeschlossen ist.

state
Object

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

Gibt zurück

Ein IAsyncResult Wert, der diesen asynchronen Vorgang darstellt, der noch aussteht.

Ausnahmen

Mindestens eines der Argumente ist ungültig.

Beim Anfügen des Datensatzes ist ein E/A-Fehler aufgetreten.

Die Datensatzsequenz konnte nicht genügend freien Speicherplatz zur Aufnahme des neuen Datensatzes oder zur Reservierung machen.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Hinweise

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

Daten, die data im Parameter enthalten sind, werden als Datensatz in ein einzelnes Bytearray verkettet. Beim Lesen des Datensatzes werden jedoch keine Daten wieder in Arraysegmente aufgeteilt.

Die angegebenen Reservierungen werden der bereitgestellten Reservierungsauflistung in einem Atomvorgang mit einem Datensatzanfügevorgang hinzugefügt. Wenn das Anfügen fehlschlägt, ist kein Leerzeichen reserviert.

Normalerweise kann diese Methode abgeschlossen werden, bevor der Datensatz geschrieben wurde. Um sicherzustellen, dass ein Datensatz geschrieben wurde, geben Sie entweder das ForceFlush Flag mit dem recordAppendOptions Parameter an, oder rufen Sie die Flush Methode auf.

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 Anfügeanforderung aufgetreten sind, z. B. ein Datenträgerfehler während der E/A-Anforderung, führen dazu, dass Ausnahmen ausgelöst werden, wenn die EndReserveAndAppend Methode aufgerufen wird.

Gilt für: