Udostępnij za pośrednictwem


LogRecordSequence.BeginWriteRestartArea Metoda

Definicja

Rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania.

Przeciążenia

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

Rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji. Nie można dziedziczyć tej metody.

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

Rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji. Nie można dziedziczyć tej metody.

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

Rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji. Nie można dziedziczyć tej metody.

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

newBaseSeqNum
SequenceNumber

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

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

Implementuje

Wyjątki

newBaseSeqNum jest nieprawidłowa dla tej sekwencji.

-lub-

Określony numer sekwencji początkowej wyliczenia dziennika jest nieprawidłowy.

-lub-

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

-lub-

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

Co najmniej jeden z parametrów to null.

Nowy lub istniejący archiwum ogon lub baza aktywnego dziennika jest nieprawidłowa.

-lub-

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

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

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

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

Sekwencja rekordów jest pełna.

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(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji. Nie można dziedziczyć tej metody.

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

Parametry

data
ArraySegment<Byte>

Segmenty tablic bajtów, które będą łączone i dołączane jako rekord.

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

Implementuje

Wyjątki

newBaseSeqNum jest nieprawidłowa dla tej sekwencji.

-lub-

Określony numer sekwencji początkowej wyliczenia dziennika jest nieprawidłowy.

-lub-

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

-lub-

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

Co najmniej jeden z parametrów to null.

Nowy lub istniejący archiwum ogon lub baza aktywnego dziennika jest nieprawidłowa.

-lub-

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

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

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

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

Sekwencja rekordów jest pełna.

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