Condividi tramite


LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Metodo

Definizione

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.

Si applica a