LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) 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 scaricamento asincrono, utilizzando spazio precedentemente riservato nella sequenza. Questo metodo non può essere ereditato.
public:
virtual IAsyncResult ^ BeginFlush(System::IO::Log::SequenceNumber sequenceNumber, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginFlush (System.IO.Log.SequenceNumber sequenceNumber, AsyncCallback callback, object state);
abstract member BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
override this.BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
Public Function BeginFlush (sequenceNumber As SequenceNumber, callback As AsyncCallback, state As Object) As IAsyncResult
Parametri
- sequenceNumber
- SequenceNumber
Numero di sequenza dell'ultimo record che deve essere scritto. Se SequenceNumber non è valido, devono essere scritti tutti i record.
- callback
- AsyncCallback
Callback asincrono facoltativo, da chiamare quando lo scaricamento è stato completato.
- state
- Object
Oggetto fornito dall'utente che distingue questa specifica richiesta di scaricamento asincrono da altre richieste.
Restituisce
Interfaccia IAsyncResult che rappresenta l'operazione di scaricamento asincrono che può essere ancora in sospeso.
Implementazioni
Eccezioni
sequenceNumber
non è valido per questa sequenza.
sequenceNumber
non è compreso tra i numeri di sequenza di base e finale di questa sequenza.
Impossibile eseguire la richiesta a causa di un'eccezione I/O imprevista.
Nel log specificato non esistono extent. Prima di utilizzare una sequenza di record, è necessario creare uno o più extent.
L'operazione non può essere eseguita perché la sequenza di record è stata aperta con accesso in sola lettura.
Il metodo è stato chiamato dopo l'eliminazione sequenza.
Memoria insufficiente per continuare l'esecuzione del programma.
Sequenza di record piena.
L'accesso per la sequenza dei log specificata viene negato dal sistema operativo.
Commenti
È necessario passare l'interfaccia IAsyncResult restituita dal metodo corrente al metodo EndFlush per garantire che lo scaricamento venga completato e le risorse vengano liberate in modo appropriato. Se si verifica un errore durante un'operazione di scaricamento asincrono, non viene generata alcuna eccezione fino a quando il metodo EndFlush non viene chiamato con il valore IAsyncResult restituito da questo metodo.
La chiamata a questo metodo garantisce che tutti i record accodati all'interfaccia LogRecordSequence siano scritti in modo durevole.
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 scaricamento asincrono, ad esempio un errore del disco durante una richiesta di I/O, comportano la generazione di eccezioni quando viene chiamato il metodo EndFlush.