FileRecordSequence.ReserveAndAppend Methode

Definitie

Maakt automatisch één reservering en voegt een record toe aan de reeks.

Overloads

Name Description
ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Maakt automatisch één reservering en voegt een record toe aan de reeks. Deze methode kan niet worden overgenomen.

ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Maakt automatisch één reservering en voegt een record toe aan de reeks. Deze methode kan niet worden overgenomen.

ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Maakt automatisch één reservering en voegt een record toe aan de reeks. Deze methode kan niet worden overgenomen.

public:
 virtual System::IO::Log::SequenceNumber ReserveAndAppend(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);
public System.IO.Log.SequenceNumber ReserveAndAppend(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, params long[] reservations);
abstract member ReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
override this.ReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber

Parameters

data
IList<ArraySegment<Byte>>

Een lijst met bytematrixsegmenten die als record worden samengevoegd en toegevoegd.

nextUndoRecord
SequenceNumber

Het volgnummer van de volgende record in de door de gebruiker opgegeven volgorde.

previousRecord
SequenceNumber

Het volgnummer van de volgende record in vorige volgorde.

recordAppendOptions
RecordAppendOptions

Een geldige waarde hiervan RecordAppendOptions geeft aan hoe de gegevens moeten worden geschreven.

reservationCollection
ReservationCollection

De reserveringsverzameling waarin u reserveringen wilt maken.

reservations
Int64[]

De reserveringen die moeten worden gemaakt, in bytes.

Retouren

Het volgnummer van de toegevoegde logboekrecord.

Implementeringen

Uitzonderingen

Een of meer van de argumenten zijn null.

Een of meer van de argumenten vallen buiten het bereik.

reservations is niet gemaakt door deze recordreeks.

De bewerking kan niet worden uitgevoerd omdat de recordreeks is geopend met alleen-lezentoegang.

De aanvraag kan niet worden uitgevoerd vanwege een onverwachte I/O-uitzondering.

De methode is aangeroepen nadat de reeks is verwijderd.

Er is onvoldoende geheugen om door te gaan met de uitvoering van het programma.

De recordreeks is vol.

Opmerkingen

Gegevens in de data parameter worden samengevoegd in één bytematrix voor het toevoegen als record. Er wordt echter geen inrichting gemaakt voor het terugsplitsen van gegevens in matrixsegmenten wanneer de record wordt gelezen.

De opgegeven reserveringen worden toegevoegd aan de opgegeven reserveringsverzameling in een atomische bewerking met een bewerking voor het toevoegen van records. Als de toevoeg mislukt, is er geen ruimte gereserveerd.

Normaal gesproken kan deze methode worden voltooid voordat de record is geschreven. Als u ervoor wilt zorgen dat een record is geschreven, geeft u de ForceFlush vlag op met behulp van de recordAppendOptions parameter of roept u de methode aan Flush .

Van toepassing op

ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Maakt automatisch één reservering en voegt een record toe aan de reeks. Deze methode kan niet worden overgenomen.

public:
 virtual System::IO::Log::SequenceNumber ReserveAndAppend(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);
public System.IO.Log.SequenceNumber ReserveAndAppend(ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, params long[] reservations);
abstract member ReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
override this.ReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber

Parameters

data
ArraySegment<Byte>

Een lijst met bytematrixsegmenten die als record worden samengevoegd en toegevoegd.

nextUndoRecord
SequenceNumber

Het volgnummer van de volgende record in de door de gebruiker opgegeven volgorde.

previousRecord
SequenceNumber

Het volgnummer van de volgende record in vorige volgorde.

recordAppendOptions
RecordAppendOptions

Een geldige waarde hiervan RecordAppendOptions geeft aan hoe de gegevens moeten worden geschreven.

reservationCollection
ReservationCollection

Een ReservationCollection die de verzameling bevat waarin u reserveringen kunt maken.

reservations
Int64[]

De reserveringen die moeten worden gemaakt, in bytes.

Retouren

Het volgnummer van de toegevoegde logboekrecord.

Implementeringen

Uitzonderingen

Een of meer van de argumenten zijn null.

Een of meer van de argumenten vallen buiten het bereik.

reservations is niet gemaakt door deze recordreeks.

De bewerking kan niet worden uitgevoerd omdat de recordreeks is geopend met alleen-lezentoegang.

De aanvraag kan niet worden uitgevoerd vanwege een onverwachte I/O-uitzondering.

De methode is aangeroepen nadat de reeks is verwijderd.

Er is onvoldoende geheugen om door te gaan met de uitvoering van het programma.

De recordreeks is vol.

Opmerkingen

Gegevens in de data parameter worden samengevoegd in één bytematrix voor het toevoegen als record. Er wordt echter geen inrichting gemaakt voor het terugsplitsen van gegevens in matrixsegmenten wanneer de record wordt gelezen.

De opgegeven reserveringen worden toegevoegd aan de opgegeven reserveringsverzameling in een atomische bewerking met een bewerking voor het toevoegen van records. Als de toevoeg mislukt, is er geen ruimte gereserveerd.

Normaal gesproken kan deze methode worden voltooid voordat de record is geschreven. Als u ervoor wilt zorgen dat een record is geschreven, geeft u de ForceFlush vlag op met behulp van de recordAppendOptions parameter of roept u de methode aan Flush .

Van toepassing op