Udostępnij za pośrednictwem


FileRecordSequence.BeginAppend Metoda

Definicja

Rozpoczyna asynchroniczną operację dołączania.

Przeciążenia

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

Rozpoczyna operację asynchronicznego dołączania przy użyciu miejsca wcześniej zarezerwowanego w sekwencji. Nie można dziedziczyć tej metody.

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

Rozpoczyna operację asynchronicznego dołączania przy użyciu miejsca wcześniej zarezerwowanego w sekwencji. Nie można dziedziczyć tej metody.

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

Rozpoczyna operację asynchronicznego dołączania. Nie można dziedziczyć tej metody.

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

Rozpoczyna operację asynchronicznego dołączania. Nie można dziedziczyć tej metody.

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

Rozpoczyna operację asynchronicznego dołączania przy użyciu miejsca wcześniej zarezerwowanego w sekwencji. Nie można dziedziczyć tej metody.

public:
 virtual IAsyncResult ^ BeginAppend(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 ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (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 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)), nextUndoRecord 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.

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.

reservations
ReservationCollection

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

callback
AsyncCallback

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

state
Object

Obiekt udostępniony przez użytkownika, który rozróżnia to konkretne żądanie asynchronicznego dołączania z innych żądań.

Zwraca

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

Implementuje

Wyjątki

Co najmniej jeden argument to null.

Jeden lub więcej argumentów jest poza zakresem.

reservations ta sekwencja rekordów nie została utworzona.

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

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

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

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

Sekwencja rekordów jest pełna.

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

Uwagi

Należy przekazać element zwrócony IAsyncResult przez tę metodę do EndAppend metody, aby upewnić się, że operacja dołączania została ukończona, a zasoby można zwolnić odpowiednio. 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 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.

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 obszar rezerwacji zostanie usunięty z kolekcji.

Zwykle ta metoda kończy się 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

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

Rozpoczyna operację asynchronicznego dołączania przy użyciu miejsca wcześniej zarezerwowanego w sekwencji. Nie można dziedziczyć tej metody.

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 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.

reservations
ReservationCollection

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

callback
AsyncCallback

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

state
Object

Obiekt udostępniony przez użytkownika, który rozróżnia to konkretne żądanie asynchronicznego dołączania z innych żądań.

Zwraca

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

Implementuje

Wyjątki

Co najmniej jeden argument to null.

Jeden lub więcej argumentów jest poza zakresem.

reservations ta sekwencja rekordów nie została utworzona.

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

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

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

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

Sekwencja rekordów jest pełna.

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

Uwagi

Należy przekazać element zwrócony IAsyncResult przez tę metodę do EndAppend metody, aby upewnić się, że operacja dołączania została ukończona, a zasoby można zwolnić odpowiednio. 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 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.

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 obszar rezerwacji zostanie usunięty z kolekcji.

Zwykle ta metoda kończy się 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

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

Rozpoczyna operację asynchronicznego dołączania. Nie można dziedziczyć tej metody.

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 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.

callback
AsyncCallback

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

state
Object

Obiekt udostępniony przez użytkownika, który rozróżnia to konkretne żądanie asynchronicznego dołączania z innych żądań.

Zwraca

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

Implementuje

Wyjątki

Co najmniej jeden argument to null.

Jeden lub więcej argumentów jest poza zakresem.

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

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

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

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

Sekwencja rekordów jest pełna.

Uwagi

Należy przekazać element zwrócony IAsyncResult przez tę metodę do EndAppend metody, aby upewnić się, że operacja dołączania została ukończona, a zasoby można zwolnić odpowiednio. 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 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.

Zwykle ta metoda kończy się 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

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 nextUndoRecord, 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 nextUndoRecord, 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)), nextUndoRecord 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.

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

Co najmniej jeden argument to null.

Jeden lub więcej argumentów jest poza zakresem.

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

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

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

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

Sekwencja rekordów jest pełna.

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