IRecordSequence.BeginWriteRestartArea Metodo

Definizione

Quando sottoposto a override in una classe derivata, avvia un'operazione asincrona di scrittura dell'area di riavvio.When overridden in a derived class, begins an asynchronous restart area write operation.

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.When overridden in a derived class, begins an asynchronous restart area write operation, using space previously reserved in the sequence.

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.When overridden in a derived class, begins an asynchronous restart area write operation, using space previously reserved in the sequence.

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.When overridden in a derived class, begins an asynchronous restart area write operation, using space previously reserved in the sequence.

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.A list of byte array segments that will be concatenated and appended as the record.

newBaseSequenceNumber
SequenceNumber

Nuovo numero di sequenza di base.The new base sequence number. Il numero di sequenza specificato deve essere maggiore o uguale al numero di sequenza di base corrente.The specified sequence number must be greater than or equal to the current base sequence number.

reservation
ReservationCollection

Classe ReservationCollection contenente la prenotazione da utilizzare per questa area di riavvio.A ReservationCollection that contains the reservation that should be used for this restart area.

callback
AsyncCallback

Callback asincrono facoltativo, da chiamare quando la scrittura dell'area di riavvio è stata completata.An optional asynchronous callback, to be called when the restart area write is complete.

state
Object

Oggetto fornito dall'utente che distingue questa specifica richiesta asincrona di scrittura dell'area di riavvio da altre richieste.A user-provided object that distinguishes this particular asynchronous restart area write request from other requests.

Restituisce

Interfaccia IAsyncResult che rappresenta l'operazione asincrona di scrittura dell'area di riavvio che può essere ancora in sospeso.An IAsyncResult that represents the asynchronous restart area write operation, which could still be pending.

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.You should pass the IAsyncResult returned by this method to the EndWriteRestartArea method, to assure that the restart area write operation has completed and resources can be freed appropriately. 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.If an error has occurred during an asynchronous restart area write operation, an exception is not thrown until the EndWriteRestartArea method is called with the IAsyncResult returned by this method.

I dati contenuti nel parametro data verranno concatenati in una matrice a byte singolo per essere quindi accodati come record.Data contained in the data parameter will be concatenated into a single byte array for appending as the record. Tuttavia, non esiste alcun provisioning per suddividere dati in segmenti della matrice una volta letto il record.However, no provision is made for splitting data back into array segments when the record is read.

Quando l'operazione viene completata senza che si verifichino errori, il numero di sequenza di base viene aggiornato.When the operation successfully completes, the base sequence number has been updated. Tutti i record del registro con numeri di sequenza inferiori al nuovo numero di base sono inaccessibili.All log records with sequence numbers less than the new base sequence number are inaccessible.

Se viene specificato una raccolta ReservationCollection, l'area di riavvio scritta utilizzerà spazio precedentemente riservato utilizzando una prenotazione contenuta nella raccolta.If a ReservationCollection is specified, the written restart area will consume space that has been previously reserved, using a reservation contained in the collection. Se ha esito positivo, il metodo utilizzerà la prenotazione più piccola che possa contenere i dati e tale prenotazione verrà rimossa dalla raccolta.If the method succeeds, it will consume the smallest reservation that can hold the data, and that reservation will be removed from the collection.

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.If a record sequence has been disposed of, or if you pass an invalid argument, exceptions are thrown immediately within this operation. 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.Errors that occurred during an asynchronous append request, for example, a disk failure during the I/O request, will result in exceptions being thrown when the EndWriteRestartArea method is called.

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.When overridden in a derived class, begins an asynchronous restart area write operation, using space previously reserved in the sequence.

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.A list of byte array segments that will be concatenated and appended as the record.

newBaseSequenceNumber
SequenceNumber

Nuovo numero di sequenza di base.The new base sequence number. Il numero di sequenza specificato deve essere maggiore o uguale al numero di sequenza di base corrente.The specified sequence number must be greater than or equal to the current base sequence number.

reservation
ReservationCollection

Classe ReservationCollection contenente la prenotazione da utilizzare per questa area di riavvio.A ReservationCollection that contains the reservation that should be used for this restart area.

callback
AsyncCallback

Callback asincrono facoltativo, da chiamare quando la scrittura dell'area di riavvio è stata completata.An optional asynchronous callback, to be called when the restart area write is complete.

state
Object

Oggetto fornito dall'utente che distingue questa specifica richiesta asincrona di scrittura dell'area di riavvio da altre richieste.A user-provided object that distinguishes this particular asynchronous restart area write request from other requests.

Restituisce

Interfaccia IAsyncResult che rappresenta l'operazione asincrona di scrittura dell'area di riavvio che può essere ancora in sospeso.An IAsyncResult that represents the asynchronous restart area write operation, which could still be pending.

Eccezioni

Uno o più argomenti non sono validi.One or more of the arguments is invalid.

Si è verificato un errore di I/O durante la scrittura dell’area di riavvio.An I/O error occurred while writing the restart area.

La sequenza di record non ha potuto fare abbastanza spazio per contenere il nuovo record.The record sequence could not make enough free space to contain the new record.

Il metodo è stato chiamato dopo l'eliminazione sequenza.The method was called after the sequence has been disposed of.

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.You should pass the IAsyncResult returned by this method to the EndWriteRestartArea method to ensure that the restart area write operation has completed and resources can be freed appropriately. 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.If an error has occurred during an asynchronous restart area write operation, an exception is not thrown until the EndWriteRestartArea method is called with the IAsyncResult returned by this method.

I dati contenuti nel parametro data verranno concatenati in una matrice a byte singolo per essere quindi accodati come record.Data contained in the data parameter will be concatenated into a single byte array for appending as the record. Tuttavia, non esiste alcun provisioning per suddividere dati in segmenti della matrice una volta letto il record.However, no provision is made for splitting data back into array segments when the record is read.

Quando l'operazione viene completata senza che si verifichino errori, il numero di sequenza di base viene aggiornato.When the operation successfully completes, the base sequence number has been updated. Tutti i record del registro con numeri di sequenza inferiori al nuovo numero di base sono inaccessibili.All log records with sequence numbers less than the new base sequence number are inaccessible.

Se viene specificato una raccolta ReservationCollection, l'area di riavvio scritta utilizzerà spazio precedentemente riservato utilizzando una prenotazione contenuta nella raccolta.If a ReservationCollection is specified, the written restart area will consume space that has been previously reserved, using a reservation contained in the collection. Se ha esito positivo, il metodo utilizzerà la prenotazione più piccola che possa contenere i dati e tale prenotazione verrà rimossa dalla raccolta.If the method succeeds, it will consume the smallest reservation that can hold the data, and that reservation will be removed from the collection.

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.If a record sequence has been disposed of, or if you pass an invalid argument, exceptions are thrown immediately within this operation. 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.Errors that occurred during an asynchronous append request, for example, a disk failure during the I/O request, will result in exceptions being thrown when the EndWriteRestartArea method is called.

Si applica a