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