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 asincrona, usando lo 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 del record più recente che deve essere scritto. Se non SequenceNumber è valido, tutti i record devono essere scritti.
- callback
- AsyncCallback
Callback asincrono facoltativo da chiamare al termine dello scaricamento.
- state
- Object
Oggetto fornito dall'utente che distingue questa particolare richiesta di scaricamento asincrona da altre richieste.
Valori restituiti
Oggetto IAsyncResult che rappresenta l'operazione di scaricamento asincrona, che potrebbe essere ancora in sospeso.
Implementazioni
Eccezioni
sequenceNumber non è valido per questa sequenza.
sequenceNumber 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.
Il log specificato non dispone di extent. Prima di poter usare una sequenza di record, è necessario creare uno o più extent.
Impossibile eseguire l'operazione perché la sequenza di record è stata aperta con accesso di sola lettura.
Il metodo è stato chiamato dopo che la sequenza è stata eliminata.
Memoria insufficiente per continuare l'esecuzione del programma.
La sequenza di record è piena.
L'accesso per la sequenza di log specificata viene negato dal sistema operativo.
Commenti
È necessario passare l'oggetto IAsyncResult restituito dal metodo corrente al EndFlush metodo per assicurarsi che lo scaricamento venga completato e le risorse vengano liberate in modo appropriato. Se si verifica un errore durante uno scaricamento asincrono, non viene generata un'eccezione finché il EndFlush metodo non viene chiamato con l'oggetto IAsyncResult restituito da questo metodo.
La chiamata a questo metodo garantisce che tutti i record aggiunti a LogRecordSequence siano scritti in modo permanente.
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 scaricamento asincrona, ad esempio un errore del disco durante la richiesta di I/O, genereranno eccezioni generate quando viene chiamato il EndFlush metodo .