LogRecordSequence.BeginWriteRestartArea Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Avvia un'operazione di scrittura dell'area di riavvio asincrona.
Overload
| Nome | Descrizione |
|---|---|
| BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Avvia un'operazione di scrittura dell'area di riavvio asincrona, usando lo spazio precedentemente riservato nella sequenza. Questo metodo non può essere ereditato. |
| BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Avvia un'operazione di scrittura dell'area di riavvio asincrona, usando lo spazio precedentemente riservato nella sequenza. Questo metodo non può essere ereditato. |
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Avvia un'operazione di scrittura dell'area di riavvio asincrona, usando lo spazio precedentemente riservato nella sequenza. Questo metodo non può essere ereditato.
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
Parametri
- data
- IList<ArraySegment<Byte>>
Elenco di segmenti di matrice di byte che verranno concatenati e accodati come record.
- newBaseSeqNum
- SequenceNumber
Nuovo numero di sequenza di base. Il numero di sequenza specificato deve essere maggiore o uguale al numero di sequenza di base corrente.
- reservationCollection
- ReservationCollection
Oggetto ReservationCollection contenente la prenotazione che deve essere utilizzata per questa area di riavvio.
- callback
- AsyncCallback
Callback asincrono facoltativo da chiamare al termine della scrittura dell'area di riavvio.
- state
- Object
Oggetto fornito dall'utente che distingue questa particolare richiesta di scrittura dell'area di riavvio asincrona da altre richieste.
Valori restituiti
Oggetto IAsyncResult che rappresenta l'operazione di scrittura dell'area di riavvio asincrona, che potrebbe essere ancora in sospeso.
Implementazioni
Eccezioni
newBaseSeqNum non è valido per questa sequenza.
oppure
Il numero di sequenza di inizio dell'enumerazione del log specificato non è valido.
oppure
data non può essere aggiunto perché è maggiore della dimensione massima del record.
oppure
reservationCollection non è stato creato da questa sequenza di record.
Uno o più parametri sono null.
Una parte finale o una base di archiviazione nuova o esistente del log attivo non è valida.
oppure
newBaseSeqNum non è compreso tra il numero di base e l'ultimo numero di sequenza di questa sequenza.
Impossibile eseguire la richiesta a causa di un'eccezione di I/O imprevista.
oppure
Impossibile eseguire la richiesta a causa di un errore del dispositivo di I/O.
Il metodo è stato chiamato dopo che la sequenza è stata eliminata.
Memoria insufficiente per continuare l'esecuzione del programma.
L'accesso per la sequenza di log specificata viene negato dal sistema operativo.
La sequenza di record è piena.
Commenti
È necessario passare l'oggetto IAsyncResult restituito da questo metodo al EndWriteRestartArea metodo per assicurarsi che l'operazione di scrittura dell'area di riavvio sia stata completata e che le risorse possano essere liberate in modo appropriato. Se si è verificato un errore durante un'operazione di scrittura dell'area di riavvio asincrona, non viene generata un'eccezione finché il EndWriteRestartArea metodo non viene chiamato con l'oggetto IAsyncResult restituito da questo metodo.
I dati contenuti nel data parametro verranno concatenati in una singola matrice di byte per l'aggiunta come record. Tuttavia, non viene effettuato alcun provisioning per la suddivisione dei dati in segmenti di matrice quando il record viene letto.
Al termine dell'operazione, il numero di sequenza di base è stato aggiornato. Tutti i record di log con numeri di sequenza inferiori al nuovo numero di sequenza di base non sono accessibili.
Se si specifica un ReservationCollection oggetto , l'area di riavvio scritta utilizzerà lo spazio precedentemente riservato, utilizzando una prenotazione contenuta nella raccolta. Se il metodo ha esito positivo, utilizzerà la prenotazione più piccola che può 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 generate immediatamente all'interno di questa operazione. Gli errori che si sono verificati durante una richiesta di accodamento asincrona, ad esempio un errore del disco durante la richiesta di I/O, genereranno eccezioni generate quando viene chiamato il EndWriteRestartArea metodo .
Si applica a
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Avvia un'operazione di scrittura dell'area di riavvio asincrona, usando lo spazio precedentemente riservato nella sequenza. Questo metodo non può essere ereditato.
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 di matrice di byte che verranno concatenati e accodati come record.
- newBaseSeqNum
- 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
Oggetto ReservationCollection contenente la prenotazione che deve essere utilizzata per questa area di riavvio.
- callback
- AsyncCallback
Callback asincrono facoltativo da chiamare al termine della scrittura dell'area di riavvio.
- state
- Object
Oggetto fornito dall'utente che distingue questa particolare richiesta di scrittura dell'area di riavvio asincrona da altre richieste.
Valori restituiti
Oggetto IAsyncResult che rappresenta l'operazione di scrittura dell'area di riavvio asincrona, che potrebbe essere ancora in sospeso.
Implementazioni
Eccezioni
newBaseSeqNum non è valido per questa sequenza.
oppure
Il numero di sequenza di inizio dell'enumerazione del log specificato non è valido.
oppure
data non può essere aggiunto perché è maggiore della dimensione massima del record.
oppure
reservation non è stato creato da questa sequenza di record.
Uno o più parametri sono null.
Una parte finale o una base di archiviazione nuova o esistente del log attivo non è valida.
oppure
newBaseSeqNum non è compreso tra il numero di base e l'ultimo numero di sequenza di questa sequenza.
Impossibile eseguire la richiesta a causa di un'eccezione di I/O imprevista.
oppure
Impossibile eseguire la richiesta a causa di un errore del dispositivo di I/O.
Il metodo è stato chiamato dopo che la sequenza è stata eliminata.
Memoria insufficiente per continuare l'esecuzione del programma.
L'accesso per la sequenza di log specificata viene negato dal sistema operativo.
La sequenza di record è piena.
Commenti
È necessario passare l'oggetto IAsyncResult restituito da questo metodo al EndWriteRestartArea metodo per assicurarsi che l'operazione di scrittura dell'area di riavvio sia stata completata e che le risorse possano essere liberate in modo appropriato. Se si è verificato un errore durante un'operazione di scrittura dell'area di riavvio asincrona, non viene generata un'eccezione finché il EndWriteRestartArea metodo non viene chiamato con l'oggetto IAsyncResult restituito da questo metodo.
I dati contenuti nel data parametro verranno concatenati in una singola matrice di byte per l'aggiunta come record. Tuttavia, non viene effettuato alcun provisioning per la suddivisione dei dati in segmenti di matrice quando il record viene letto.
Al termine dell'operazione, il numero di sequenza di base è stato aggiornato. Tutti i record di log con numeri di sequenza inferiori al nuovo numero di sequenza di base non sono accessibili.
Se si specifica un ReservationCollection oggetto , l'area di riavvio scritta utilizzerà lo spazio precedentemente riservato, utilizzando una prenotazione contenuta nella raccolta. Se il metodo ha esito positivo, utilizzerà la prenotazione più piccola che può 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 generate immediatamente all'interno di questa operazione. Gli errori che si sono verificati durante una richiesta di accodamento asincrona, ad esempio un errore del disco durante la richiesta di I/O, genereranno eccezioni generate quando viene chiamato il EndWriteRestartArea metodo .