Udostępnij za pośrednictwem


IRecordSequence.ReserveAndAppend Metoda

Definicja

W przypadku zastąpienia w klasie pochodnej automatycznie tworzy pojedynczą rezerwację i dołącza rekord do sekwencji.

Przeciążenia

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

W przypadku zastąpienia w klasie pochodnej automatycznie tworzy pojedynczą rezerwację i dołącza rekord do sekwencji.

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

W przypadku zastąpienia w klasie pochodnej automatycznie tworzy pojedynczą rezerwację i dołącza rekord do sekwencji.

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

W przypadku zastąpienia w klasie pochodnej automatycznie tworzy pojedynczą rezerwację i dołącza rekord do sekwencji.

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

Parametry

data
ArraySegment<Byte>

Lista segmentów tablic bajtowych, które będą łączone i dołączane jako rekord.

nextUndoRecord
SequenceNumber

Numer sekwencji następnego rekordu w podanej przez użytkownika kolejności.

previousRecord
SequenceNumber

Numer sekwencji następnego rekordu w poprzedniej kolejności.

recordAppendOptions
RecordAppendOptions

Prawidłowa wartość określająca RecordAppendOptions sposób zapisywania danych.

reservationCollection
ReservationCollection

Element ReservationCollection zawierający kolekcję do tworzenia rezerwacji.

reservations
Int64[]

Rezerwacje do wykonania w bajtach.

Zwraca

Numer sekwencji dołączonego rekordu dziennika.

Wyjątki

Co najmniej jeden argument jest nieprawidłowy.

Wystąpił błąd we/wy podczas dołączania rekordu.

Sekwencja rekordów nie może mieć wystarczającej ilości wolnego miejsca, aby zawierać nowy rekord lub dokonać rezerwacji.

Metoda została wywołana po usunięciu sekwencji.

Uwagi

Dane zawarte w parametrze data będą łączone w jedną tablicę bajtów do dołączania jako rekordu. Jednak podczas odczytywania rekordu nie jest wprowadzana żadna aprowizacja dzielenia danych z powrotem na segmenty tablic.

Określone rezerwacje są dodawane do podanej kolekcji rezerwacji w operacji niepodzielnej z operacją dołączania rekordów. Jeśli dołączanie zakończy się niepowodzeniem, żadne miejsce nie jest zarezerwowane.

Zwykle ta metoda może zostać ukończona przed zapisem rekordu. Aby upewnić się, że rekord został zapisany, określ ForceFlush flagę przy użyciu parametru recordAppendOptions lub wywołaj metodę Flush .

Dotyczy

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

W przypadku zastąpienia w klasie pochodnej automatycznie tworzy pojedynczą rezerwację i dołącza rekord do sekwencji.

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

Parametry

data
IList<ArraySegment<Byte>>

Lista segmentów tablic bajtowych, które będą łączone i dołączane jako rekord.

nextUndoRecord
SequenceNumber

Numer sekwencji następnego rekordu w podanej przez użytkownika kolejności.

previousRecord
SequenceNumber

Numer sekwencji następnego rekordu w poprzedniej kolejności.

recordAppendOptions
RecordAppendOptions

Prawidłowa wartość określająca RecordAppendOptions sposób zapisywania danych.

reservationCollection
ReservationCollection

Kolekcja rezerwacji do tworzenia rezerwacji.

reservations
Int64[]

Rezerwacje do wykonania w bajtach.

Zwraca

Numer sekwencji dołączonego rekordu dziennika.

Wyjątki

Co najmniej jeden argument jest nieprawidłowy.

Wystąpił błąd we/wy podczas dołączania rekordu.

Sekwencja rekordów nie może mieć wystarczającej ilości wolnego miejsca, aby zawierać nowy rekord lub dokonać rezerwacji.

Metoda została wywołana po usunięciu sekwencji.

Uwagi

Dane zawarte w parametrze data będą łączone w jedną tablicę bajtów do dołączania jako rekordu. Jednak podczas odczytywania rekordu nie jest wprowadzana żadna aprowizacja dzielenia danych z powrotem na segmenty tablic.

Określone rezerwacje są dodawane do podanej kolekcji rezerwacji w operacji niepodzielnej z operacją dołączania rekordów. Jeśli dołączanie zakończy się niepowodzeniem, żadne miejsce nie jest zarezerwowane.

Zwykle ta metoda może zostać ukończona przed zapisem rekordu. Aby upewnić się, że rekord został zapisany, określ ForceFlush flagę przy użyciu parametru recordAppendOptions lub wywołaj metodę Flush .

Dotyczy