Udostępnij za pośrednictwem


LogRecordSequence.BeginAppend Metoda

Definicja

Rozpoczyna asynchroniczną operację dołączania.

Przeciążenia

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Rozpoczyna asynchroniczną operację dołączania. Tej metody nie można dziedziczyć.

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Rozpoczyna asynchroniczną operację dołączania. Tej metody nie można dziedziczyć.

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Rozpoczyna asynchroniczną operację dołączania. Tej metody nie można dziedziczyć.

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Rozpoczyna asynchroniczną operację dołączania. Tej metody nie można dziedziczyć.

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Rozpoczyna asynchroniczną operację dołączania. Tej metody nie można dziedziczyć.

public:
 virtual IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult

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 określonej przez użytkownika kolejności.

previousRecord
SequenceNumber

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

recordAppendOptions
RecordAppendOptions

Prawidłowa wartość określa sposób zapisywania RecordAppendOptions danych.

callback
AsyncCallback

Opcjonalne wywołanie asynchroniczne, które ma być wywoływane po zakończeniu dołączania.

state
Object

Obiekt dostarczony przez użytkownika, który odróżnia to konkretne żądanie asynchronicznego dołączania od innych żądań.

Zwraca

Element IAsyncResult reprezentujący dołączanie asynchroniczne, które nadal może być oczekujące.

Implementuje

Wyjątki

nextUndoRecord lub previousRecord jest nieprawidłowy dla tej sekwencji.

-lub-

data Nie można dołączyć, ponieważ jest większy niż maksymalny rozmiar rekordu.

-lub-

reservations nie został utworzony przez tę sekwencję rekordów.

Co najmniej jeden z argumentów to null.

nextUndoRecord lub previousRecord nie znajduje się między numerami podstawowymi i ostatnimi sekwencjami tej sekwencji.

Nie można wykonać żądania z powodu nieoczekiwanego wyjątku we/wy.

-lub-

Nie można wykonać żądania z powodu błędu urządzenia we/wy.

Nie można wykonać operacji, ponieważ sekwencja rekordów została otwarta z dostępem tylko do odczytu.

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

Za mało pamięci, aby kontynuować wykonywanie programu.

Sekwencja rekordów jest pełna.

Dostęp do określonej sekwencji dzienników jest odrzucany przez system operacyjny.

Uwagi

Należy przekazać zwrócony IAsyncResult przez tę metodę metodę EndAppend do metody , aby upewnić się, że operacja dołączania została ukończona, a zasoby mogą być odpowiednio zwolnione. Jeśli wystąpił błąd podczas dołączania asynchronicznego, wyjątek nie jest zgłaszany, dopóki EndAppend metoda nie zostanie wywołana przy użyciu metody zwróconej IAsyncResult przez tę metodę.

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

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

Dotyczy

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Rozpoczyna asynchroniczną operację dołączania. Tej metody nie można dziedziczyć.

public:
 virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber userRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

data
IList<ArraySegment<Byte>>

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

userRecord
SequenceNumber

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

previousRecord
SequenceNumber

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

recordAppendOptions
RecordAppendOptions

Prawidłowa wartość określa sposób zapisywania RecordAppendOptions danych.

callback
AsyncCallback

Opcjonalne wywołanie asynchroniczne, które ma być wywoływane po zakończeniu dołączania.

state
Object

Obiekt dostarczony przez użytkownika, który odróżnia to konkretne żądanie asynchronicznego dołączania od innych żądań.

Zwraca

Element IAsyncResult reprezentujący dołączanie asynchroniczne, które nadal może być oczekujące.

Implementuje

Wyjątki

userRecord lub previousRecord jest nieprawidłowy dla tej sekwencji.

-lub-

data Nie można dołączyć, ponieważ jest większy niż maksymalny rozmiar rekordu.

-lub-

reservations nie został utworzony przez tę sekwencję rekordów.

Co najmniej jeden z argumentów to null.

userRecord lub previousRecord nie znajduje się między numerami podstawowymi i ostatnimi sekwencjami tej sekwencji.

Nie można wykonać żądania z powodu nieoczekiwanego wyjątku we/wy.

-lub-

Nie można wykonać żądania z powodu błędu urządzenia we/wy.

Nie można wykonać operacji, ponieważ sekwencja rekordów została otwarta z dostępem tylko do odczytu.

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

Za mało pamięci, aby kontynuować wykonywanie programu.

Sekwencja rekordów jest pełna.

Dostęp do określonej sekwencji dzienników jest odrzucany przez system operacyjny.

Uwagi

Należy przekazać zwrócony IAsyncResult przez tę metodę metodę EndAppend do metody , aby upewnić się, że operacja dołączania została ukończona, a zasoby mogą być odpowiednio zwolnione. Jeśli wystąpił błąd podczas dołączania asynchronicznego, wyjątek nie jest zgłaszany, dopóki EndAppend metoda nie zostanie wywołana przy użyciu metody zwróconej IAsyncResult przez tę metodę.

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

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

Dotyczy

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Rozpoczyna asynchroniczną operację dołączania. Tej metody nie można dziedziczyć.

public:
 virtual IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

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 określonej przez użytkownika kolejności.

previousRecord
SequenceNumber

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

recordAppendOptions
RecordAppendOptions

Prawidłowa wartość określa sposób zapisywania RecordAppendOptions danych.

reservations
ReservationCollection

Obiekt ReservationCollection zawierający rezerwację, która powinna być używana dla tego rekordu.

callback
AsyncCallback

Opcjonalne wywołanie asynchroniczne, które ma być wywoływane po zakończeniu dołączania.

state
Object

Obiekt dostarczony przez użytkownika, który odróżnia to konkretne żądanie asynchronicznego dołączania od innych żądań.

Zwraca

Element IAsyncResult reprezentujący dołączanie asynchroniczne, które nadal może być oczekujące.

Implementuje

Wyjątki

userRecord lub previousRecord jest nieprawidłowy dla tej sekwencji.

-lub-

data Nie można dołączyć, ponieważ jest większy niż maksymalny rozmiar rekordu.

-lub-

reservations nie został utworzony przez tę sekwencję rekordów.

Co najmniej jeden z argumentów to null.

userRecord lub previousRecord nie znajduje się między numerami podstawowymi i ostatnimi sekwencjami tej sekwencji.

Nie można wykonać żądania z powodu nieoczekiwanego wyjątku we/wy.

-lub-

Nie można wykonać żądania z powodu błędu urządzenia we/wy.

Nie można wykonać operacji, ponieważ sekwencja rekordów została otwarta z dostępem tylko do odczytu.

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

Za mało pamięci, aby kontynuować wykonywanie programu.

Sekwencja rekordów jest pełna.

Dostęp do określonej sekwencji dzienników jest odrzucany przez system operacyjny.

Nie można znaleźć rezerwacji wystarczająco dużej, aby zmieścić data się w pliku reservations.

Uwagi

Należy przekazać zwrócony IAsyncResult przez tę metodę metodę EndAppend do metody , aby upewnić się, że operacja dołączania została ukończona, a zasoby mogą być odpowiednio zwolnione. Jeśli wystąpił błąd podczas dołączania asynchronicznego, wyjątek nie jest zgłaszany, dopóki EndAppend metoda nie zostanie wywołana przy użyciu metody zwróconej IAsyncResult przez tę metodę.

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

Dołączony rekord będzie zużywać miejsce, które zostało wcześniej zarezerwowane, przy użyciu rezerwacji określonej przez reservations parametr . Jeśli dołączanie zakończy się pomyślnie, będzie korzystać z najmniejszego obszaru rezerwacji, który może przechowywać dane, a ten obszar rezerwacji zostanie usunięty z kolekcji.

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

Dotyczy

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Rozpoczyna asynchroniczną operację dołączania. Tej metody nie można dziedziczyć.

public:
 virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber userRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

data
IList<ArraySegment<Byte>>

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

userRecord
SequenceNumber

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

previousRecord
SequenceNumber

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

recordAppendOptions
RecordAppendOptions

Prawidłowa wartość określa sposób zapisywania RecordAppendOptions danych.

reservations
ReservationCollection

Obiekt ReservationCollection zawierający rezerwację, która powinna być używana dla tego rekordu.

callback
AsyncCallback

Opcjonalne wywołanie asynchroniczne, które ma być wywoływane po zakończeniu dołączania.

state
Object

Obiekt dostarczony przez użytkownika, który odróżnia to konkretne żądanie asynchronicznego dołączania od innych żądań.

Zwraca

Element IAsyncResult reprezentujący dołączanie asynchroniczne, które nadal może być oczekujące.

Implementuje

Wyjątki

userRecord lub previousRecord jest nieprawidłowy dla tej sekwencji.

-lub-

data Nie można dołączyć, ponieważ jest większy niż maksymalny rozmiar rekordu.

-lub-

reservations nie został utworzony przez tę sekwencję rekordów.

Co najmniej jeden z argumentów to null.

userRecord lub previousRecord nie znajduje się między numerami podstawowymi i ostatnimi sekwencjami tej sekwencji.

Nie można wykonać żądania z powodu nieoczekiwanego wyjątku we/wy.

-lub-

Nie można wykonać żądania z powodu błędu urządzenia we/wy.

Nie można wykonać operacji, ponieważ sekwencja rekordów została otwarta z dostępem tylko do odczytu.

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

Za mało pamięci, aby kontynuować wykonywanie programu.

Sekwencja rekordów jest pełna.

Dostęp do określonej sekwencji dzienników jest odrzucany przez system operacyjny.

Nie można znaleźć rezerwacji wystarczająco dużej, aby zmieścić data się w pliku reservations.

Uwagi

Należy przekazać zwrócony IAsyncResult przez tę metodę metodę EndAppend do metody , aby upewnić się, że operacja dołączania została ukończona, a zasoby mogą być odpowiednio zwolnione. Jeśli wystąpił błąd podczas dołączania asynchronicznego, wyjątek nie jest zgłaszany, dopóki EndAppend metoda nie zostanie wywołana przy użyciu metody zwróconej IAsyncResult przez tę metodę.

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

Dołączony rekord będzie zużywać miejsce, które zostało wcześniej zarezerwowane, przy użyciu rezerwacji określonej przez reservations parametr . Jeśli dołączanie zakończy się pomyślnie, będzie korzystać z najmniejszego obszaru rezerwacji, który może przechowywać dane, a ten obszar rezerwacji zostanie usunięty z kolekcji.

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

Dotyczy