Udostępnij za pośrednictwem


IRecordSequence.BeginWriteRestartArea Metoda

Definicja

Po zastąpieniu klasy pochodnej rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania.

Przeciążenia

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Po zastąpieniu w klasie pochodnej rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji.

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

Po zastąpieniu w klasie pochodnej rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji.

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Po zastąpieniu w klasie pochodnej rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji.

public:
 IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSequenceNumber As SequenceNumber, reservation 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.

newBaseSequenceNumber
SequenceNumber

Nowy numer sekwencji podstawowej. Określony numer sekwencji musi być większy lub równy bieżącemu numerowi sekwencji bazowej.

reservation
ReservationCollection

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

callback
AsyncCallback

Opcjonalne wywołanie zwrotne asynchroniczne, które ma być wywoływane po zakończeniu zapisu obszaru ponownego uruchamiania.

state
Object

Obiekt udostępniony przez użytkownika, który rozróżnia ten konkretny asynchroniczny żądanie zapisu obszaru ponownego uruchamiania z innych żądań.

Zwraca

Element IAsyncResult reprezentujący asynchroniczną operację zapisu obszaru ponownego uruchamiania, która nadal może być oczekująca.

Uwagi

Należy przekazać wartość zwróconą IAsyncResult przez tę metodę do EndWriteRestartArea metody, aby upewnić się, że operacja zapisu obszaru ponownego uruchomienia została ukończona, a zasoby można zwolnić odpowiednio. Jeśli wystąpił błąd podczas asynchronicznej operacji zapisu obszaru ponownego uruchamiania, wyjątek nie zostanie zgłoszony, dopóki EndWriteRestartArea 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.

Po pomyślnym zakończeniu operacji numer sekwencji podstawowej został zaktualizowany. Wszystkie rekordy dziennika z numerami sekwencji mniejszymi niż nowy numer sekwencji podstawowej są niedostępne.

Jeśli zostanie ReservationCollection określony, zapisany obszar ponownego uruchamiania będzie zużywać miejsce, które zostało wcześniej zarezerwowane, przy użyciu rezerwacji zawartej w kolekcji. Jeśli metoda powiedzie się, będzie korzystać z najmniejszej rezerwacji, która może przechowywać dane, a rezerwacja zostanie usunięta z kolekcji.

Jeśli sekwencja rekordów została usunięta lub jeśli przekazano nieprawidłowy argument, wyjątki są zgłaszane natychmiast w ramach tej operacji. Błędy, które wystąpiły podczas asynchronicznego żądania dołączania, na przykład błąd dysku podczas żądania we/wy, spowoduje zgłaszanie wyjątków po EndWriteRestartArea wywołaniu metody.

Dotyczy

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

Po zastąpieniu w klasie pochodnej rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji.

public:
 IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSequenceNumber As SequenceNumber, reservation 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.

newBaseSequenceNumber
SequenceNumber

Nowy numer sekwencji podstawowej. Określony numer sekwencji musi być większy lub równy bieżącemu numerowi sekwencji bazowej.

reservation
ReservationCollection

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

callback
AsyncCallback

Opcjonalne wywołanie zwrotne asynchroniczne, które ma być wywoływane po zakończeniu zapisu obszaru ponownego uruchamiania.

state
Object

Obiekt udostępniony przez użytkownika, który rozróżnia ten konkretny asynchroniczny żądanie zapisu obszaru ponownego uruchamiania z innych żądań.

Zwraca

Element IAsyncResult reprezentujący asynchroniczną operację zapisu obszaru ponownego uruchamiania, która nadal może być oczekująca.

Wyjątki

Co najmniej jeden argument jest nieprawidłowy.

Wystąpił błąd we/wy podczas zapisywania obszaru ponownego uruchamiania.

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

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

Uwagi

Należy przekazać wartość zwróconą IAsyncResult przez tę metodę do EndWriteRestartArea metody, aby upewnić się, że operacja zapisu obszaru ponownego uruchomienia została ukończona, a zasoby można zwolnić odpowiednio. Jeśli wystąpił błąd podczas asynchronicznej operacji zapisu obszaru ponownego uruchamiania, wyjątek nie zostanie zgłoszony, dopóki EndWriteRestartArea 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.

Po pomyślnym zakończeniu operacji numer sekwencji podstawowej został zaktualizowany. Wszystkie rekordy dziennika z numerami sekwencji mniejszymi niż nowy numer sekwencji podstawowej są niedostępne.

Jeśli zostanie ReservationCollection określony, zapisany obszar ponownego uruchamiania będzie zużywać miejsce, które zostało wcześniej zarezerwowane, przy użyciu rezerwacji zawartej w kolekcji. Jeśli metoda powiedzie się, będzie korzystać z najmniejszej rezerwacji, która może przechowywać dane, a rezerwacja zostanie usunięta z kolekcji.

Jeśli sekwencja rekordów została usunięta lub jeśli przekazano nieprawidłowy argument, wyjątki są zgłaszane natychmiast w ramach tej operacji. Błędy, które wystąpiły podczas asynchronicznego żądania dołączania, na przykład błąd dysku podczas żądania we/wy, spowoduje zgłaszanie wyjątków po EndWriteRestartArea wywołaniu metody.

Dotyczy