LogRecordSequence.BeginWriteRestartArea Metodo

Definizione

Inizia un'operazione asincrona di scrittura dell'area di riavvio.Begins an asynchronous restart area write operation.

Overload

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

Avvia un'operazione asincrona di scrittura dell'area di riavvio utilizzando spazio precedentemente riservato nella sequenza.Begins an asynchronous restart area write operation, using space previously reserved in the sequence. Questo metodo non può essere ereditato.This method cannot be inherited.

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

Avvia un'operazione asincrona di scrittura dell'area di riavvio utilizzando spazio precedentemente riservato nella sequenza.Begins an asynchronous restart area write operation, using space previously reserved in the sequence. Questo metodo non può essere ereditato.This method cannot be inherited.

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

Avvia un'operazione asincrona di scrittura dell'area di riavvio utilizzando spazio precedentemente riservato nella sequenza.Begins an asynchronous restart area write operation, using space previously reserved in the sequence. Questo metodo non può essere ereditato.This method cannot be inherited.

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

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.

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

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

Implementazioni

Eccezioni

newBaseSeqNum non è valido per questa sequenza.newBaseSeqNum is not valid for this sequence.

-oppure--or- Il numero della sequenza di avvio dell'enumerazione del log specificato non è valido.The specified log enumeration start sequence number is invalid.

In alternativa-or- Non è possibile aggiungere data perché le dimensioni superano le dimensioni massime dei record.data cannot be appended because it is larger than the maximum record size.

-oppure--or- reservationCollection non è stato creato da questa sequenza di record.reservationCollection was not created by this record sequence.

Uno o più parametri è null.One or more of the parameters is null.

Una coda o base di archivio nuova o esistente del log attivo non è valida.A new or existing archive tail or base of the active log is invalid.

-oppure--or- newBaseSeqNum non è compreso tra i numeri di sequenza di base e finale di questa sequenza.newBaseSeqNum is not between the base and last sequence numbers of this sequence.

Impossibile eseguire la richiesta a causa di un'eccezione I/O imprevista.The request could not be performed because of an unexpected I/O exception.

In alternativa-or-

Impossibile eseguire la richiesta a causa di un errore del dispositivo di I/O.The request could not be performed because of an I/O device error.

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

Memoria insufficiente per continuare l'esecuzione del programma.There is not enough memory to continue the execution of the program.

L'accesso per la sequenza dei log specificata viene negato dal sistema operativo.Access for the specified log sequence is denied by the operating system.

Sequenza di record piena.The record sequence is full.

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.

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

Avvia un'operazione asincrona di scrittura dell'area di riavvio utilizzando spazio precedentemente riservato nella sequenza.Begins an asynchronous restart area write operation, using space previously reserved in the sequence. Questo metodo non può essere ereditato.This method cannot be inherited.

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

Parametri

data
ArraySegment<Byte>

Segmenti della matrice di byte che verranno concatenati e aggiunti come record.Byte array segments that will be concatenated and appended as the record.

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

Implementazioni

Eccezioni

newBaseSeqNum non è valido per questa sequenza.newBaseSeqNum is not valid for this sequence.

-oppure--or- Il numero della sequenza di avvio dell'enumerazione del log specificato non è valido.The specified log enumeration start sequence number is invalid.

In alternativa-or- Non è possibile aggiungere data perché le dimensioni superano le dimensioni massime dei record.data cannot be appended because it is larger than the maximum record size.

-oppure--or- reservation non è stato creato da questa sequenza di record.reservation was not created by this record sequence.

Uno o più parametri è null.One or more of the parameters is null.

Una coda o base di archivio nuova o esistente del log attivo non è valida.A new or existing archive tail or base of the active log is invalid.

-oppure--or- newBaseSeqNum non è compreso tra i numeri di sequenza di base e finale di questa sequenza.newBaseSeqNum is not between the base and last sequence numbers of this sequence.

Impossibile eseguire la richiesta a causa di un'eccezione I/O imprevista.The request could not be performed because of an unexpected I/O exception.

In alternativa-or-

Impossibile eseguire la richiesta a causa di un errore del dispositivo di I/O.The request could not be performed because of an I/O device error.

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

Memoria insufficiente per continuare l'esecuzione del programma.There is not enough memory to continue the execution of the program.

L'accesso per la sequenza dei log specificata viene negato dal sistema operativo.Access for the specified log sequence is denied by the operating system.

Sequenza di record piena.The record sequence is full.

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