IRecordSequence.ReserveAndAppend Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 .