IRecordSequence.ReserveAndAppend Metod

Definition

När den åsidosätts i en härledd klass gör du automatiskt en enskild reservation och lägger till en post i sekvensen.

Överlagringar

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

När den åsidosätts i en härledd klass gör du automatiskt en enskild reservation och lägger till en post i sekvensen.

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

När den åsidosätts i en härledd klass gör du automatiskt en enskild reservation och lägger till en post i sekvensen.

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

När den åsidosätts i en härledd klass gör du automatiskt en enskild reservation och lägger till en post i sekvensen.

public:
 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
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

Parametrar

data
ArraySegment<Byte>

En lista över bytematrissegment som sammanfogas och läggs till som post.

nextUndoRecord
SequenceNumber

Sekvensnumret för nästa post i den användardefinierade ordningen.

previousRecord
SequenceNumber

Sekvensnumret för nästa post i Föregående ordning.

recordAppendOptions
RecordAppendOptions

Ett giltigt värde RecordAppendOptions för detta anger hur data ska skrivas.

reservationCollection
ReservationCollection

En ReservationCollection som innehåller samlingen som du vill göra reservationer i.

reservations
Int64[]

De reservationer som ska göras i byte.

Returer

Sekvensnumret för den bifogade loggposten.

Undantag

Ett eller flera av argumenten är ogiltiga.

Ett I/O-fel uppstod när posten skulle sparas.

Postsekvensen kunde inte ge tillräckligt med ledigt utrymme för att innehålla den nya posten eller för att göra reservationen.

Metoden anropades efter att sekvensen har tagits bort.

Kommentarer

Data som finns i parametern data sammanfogas till en enskild bytematris för att läggas till som post. Ingen etablering görs dock för att dela upp data i matrissegment igen när posten läse.

De angivna reservationerna läggs till i den angivna reservationssamlingen i en atomisk åtgärd med en post-tilläggsåtgärd. Om tillägget misslyckas är inget utrymme reserverat.

Normalt kan den här metoden slutföras innan posten har skrivits. För att säkerställa att en post har skrivits anger du ForceFlush antingen flaggan med parametern recordAppendOptions eller anropar Flush metoden.

Gäller för

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

När den åsidosätts i en härledd klass gör du automatiskt en enskild reservation och lägger till en post i sekvensen.

public:
 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
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

Parametrar

data
IList<ArraySegment<Byte>>

En lista över bytematrissegment som sammanfogas och läggs till som post.

nextUndoRecord
SequenceNumber

Sekvensnumret för nästa post i den användardefinierade ordningen.

previousRecord
SequenceNumber

Sekvensnumret för nästa post i Föregående ordning.

recordAppendOptions
RecordAppendOptions

Ett giltigt värde RecordAppendOptions för detta anger hur data ska skrivas.

reservationCollection
ReservationCollection

Reservationssamlingen som du vill göra reservationer i.

reservations
Int64[]

De reservationer som ska göras i byte.

Returer

Sekvensnumret för den bifogade loggposten.

Undantag

Ett eller flera av argumenten är ogiltiga.

Ett I/O-fel uppstod när posten skulle sparas.

Postsekvensen kunde inte ge tillräckligt med ledigt utrymme för att innehålla den nya posten eller för att göra reservationen.

Metoden anropades efter att sekvensen har tagits bort.

Kommentarer

Data som finns i parametern data sammanfogas till en enskild bytematris för att läggas till som post. Ingen etablering görs dock för att dela upp data i matrissegment igen när posten läse.

De angivna reservationerna läggs till i den angivna reservationssamlingen i en atomisk åtgärd med en post-tilläggsåtgärd. Om tillägget misslyckas är inget utrymme reserverat.

Normalt kan den här metoden slutföras innan posten har skrivits. För att säkerställa att en post har skrivits anger du ForceFlush antingen flaggan med parametern recordAppendOptions eller anropar Flush metoden.

Gäller för