Condividi tramite


IRecordSequence.BeginWriteRestartArea Metodo

Definizione

Quando sottoposto a override in una classe derivata, avvia un'operazione asincrona di scrittura dell'area di riavvio.

Overload

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

Quando viene sottoposto a override in una classe derivata, inizia un'operazione asincrona di scrittura dell'area di riavvio utilizzando spazio precedentemente riservato nella sequenza.

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

Quando viene sottoposto a override in una classe derivata, inizia un'operazione asincrona di scrittura dell'area di riavvio utilizzando spazio precedentemente riservato nella sequenza.

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

Quando viene sottoposto a override in una classe derivata, inizia un'operazione asincrona di scrittura dell'area di riavvio utilizzando spazio precedentemente riservato nella sequenza.

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

Parametri

data
ArraySegment<Byte>

Elenco di segmenti della matrice di byte che verranno concatenati e accodati come record.

newBaseSequenceNumber
SequenceNumber

Nuovo numero di sequenza di base. Il numero di sequenza specificato deve essere maggiore o uguale al numero di sequenza di base corrente.

reservation
ReservationCollection

Classe ReservationCollection contenente la prenotazione da utilizzare per questa area di riavvio.

callback
AsyncCallback

Callback asincrono facoltativo, da chiamare quando la scrittura dell'area di riavvio è stata completata.

state
Object

Oggetto fornito dall'utente che distingue questa specifica richiesta asincrona di scrittura dell'area di riavvio da altre richieste.

Restituisce

Interfaccia IAsyncResult che rappresenta l'operazione asincrona di scrittura dell'area di riavvio che può essere ancora in sospeso.

Commenti

È necessario passare l'interfaccia IAsyncResult restituita da questo metodo al metodo EndWriteRestartArea per garantire che l'operazione di scrittura dell'area di riavvio sia stata completata e che sia possibile liberare risorse in modo appropriato. Se si è verificato un errore durante un'operazione asincrona di scrittura dell'area di riavvio, non viene generata alcuna eccezione fino a quando il metodo EndWriteRestartArea non viene chiamato con l'interfaccia IAsyncResult restituita da questo metodo.

I dati contenuti nel parametro data verranno concatenati in una matrice a byte singolo per essere quindi accodati come record. Tuttavia, non esiste alcun provisioning per suddividere dati in segmenti della matrice una volta letto il record.

Quando l'operazione viene completata senza che si verifichino errori, il numero di sequenza di base viene aggiornato. Tutti i record del registro con numeri di sequenza inferiori al nuovo numero di base sono inaccessibili.

Se viene specificato una raccolta ReservationCollection, l'area di riavvio scritta utilizzerà spazio precedentemente riservato utilizzando una prenotazione contenuta nella raccolta. Se ha esito positivo, il metodo utilizzerà la prenotazione più piccola che possa contenere i dati e tale prenotazione verrà rimossa dalla raccolta.

Se una sequenza di record è stata eliminata o se si passa un argomento non valido, le eccezioni vengono immediatamente generate all'interno di questa operazione. Gli errori che si verificano durante una richiesta di accodamento asincrona, ad esempio un errore del disco durante una richiesta di I/O, comporteranno la generazione di eccezioni quando viene chiamato il metodo EndWriteRestartArea.

Si applica a

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

Quando viene sottoposto a override in una classe derivata, inizia un'operazione asincrona di scrittura dell'area di riavvio utilizzando spazio precedentemente riservato nella sequenza.

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

Parametri

data
IList<ArraySegment<Byte>>

Elenco di segmenti della matrice di byte che verranno concatenati e accodati come record.

newBaseSequenceNumber
SequenceNumber

Nuovo numero di sequenza di base. Il numero di sequenza specificato deve essere maggiore o uguale al numero di sequenza di base corrente.

reservation
ReservationCollection

Classe ReservationCollection contenente la prenotazione da utilizzare per questa area di riavvio.

callback
AsyncCallback

Callback asincrono facoltativo, da chiamare quando la scrittura dell'area di riavvio è stata completata.

state
Object

Oggetto fornito dall'utente che distingue questa specifica richiesta asincrona di scrittura dell'area di riavvio da altre richieste.

Restituisce

Interfaccia IAsyncResult che rappresenta l'operazione asincrona di scrittura dell'area di riavvio che può essere ancora in sospeso.

Eccezioni

Uno o più argomenti non sono validi.

Si è verificato un errore di I/O durante la scrittura dell’area di riavvio.

La sequenza di record non ha potuto fare abbastanza spazio per contenere il nuovo record.

Il metodo è stato chiamato dopo l'eliminazione sequenza.

Commenti

È necessario passare l'interfaccia IAsyncResult restituita da questo metodo al metodo EndWriteRestartArea per garantire che l'operazione di scrittura dell'area di riavvio sia stata completata e che sia possibile liberare risorse in modo appropriato. Se si è verificato un errore durante un'operazione asincrona di scrittura dell'area di riavvio, non viene generata alcuna eccezione fino a quando il metodo EndWriteRestartArea non viene chiamato con l'interfaccia IAsyncResult restituita da questo metodo.

I dati contenuti nel parametro data verranno concatenati in una matrice a byte singolo per essere quindi accodati come record. Tuttavia, non esiste alcun provisioning per suddividere dati in segmenti della matrice una volta letto il record.

Quando l'operazione viene completata senza che si verifichino errori, il numero di sequenza di base viene aggiornato. Tutti i record del registro con numeri di sequenza inferiori al nuovo numero di base sono inaccessibili.

Se viene specificato una raccolta ReservationCollection, l'area di riavvio scritta utilizzerà spazio precedentemente riservato utilizzando una prenotazione contenuta nella raccolta. Se ha esito positivo, il metodo utilizzerà la prenotazione più piccola che possa contenere i dati e tale prenotazione verrà rimossa dalla raccolta.

Se una sequenza di record è stata eliminata o se si passa un argomento non valido, le eccezioni vengono immediatamente generate all'interno di questa operazione. Gli errori che si verificano durante una richiesta di accodamento asincrona, ad esempio un errore del disco durante una richiesta di I/O, comporteranno la generazione di eccezioni quando viene chiamato il metodo EndWriteRestartArea.

Si applica a