Compartir vía


LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Método

Definición

Comienza una operación de vaciado asincrónica, utilizando el espacio previamente reservado en la secuencia. Este método no se puede heredar.

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

Parámetros

sequenceNumber
SequenceNumber

El número de secuencia del último registro que se debe escribir. Si SequenceNumber no es válido, a continuación, se deben escribir todos los registros.

callback
AsyncCallback

Devolución de llamada asincrónica opcional, a la que se llamará cuando haya finalizado el vaciado.

state
Object

Objeto proporcionado por el usuario que distingue esta solicitud particular de vaciado asincrónico de otras.

Devoluciones

Un IAsyncResult que representa la operación de vaciado asincrónica que puede seguir pendiente.

Implementaciones

Excepciones

sequenceNumber no es válido para esta secuencia.

sequenceNumber no está entre la base y últimos números de secuencia de esta secuencia.

La solicitud no se pudo realizar debido a una excepción de E/S inesperada.

El registro especificado no tiene ninguna extensión. Se han de crear una o más extensiones antes de que se pueda utilizar una secuencia de registro.

La operación no se puede realizar porque la secuencia del registro se abrió con acceso de solo lectura.

Se llamó al método una vez eliminada la secuencia.

No hay bastante memoria para continuar la ejecución del programa.

La secuencia del registro está completa.

El sistema operativo ha denegado el acceso a la secuencia de registro especificado.

Comentarios

Debería pasar IAsyncResultdevuelto por este método al método EndFlush para asegurarse que la operación de vaciado ha finalizado y que se pueden liberar los recursos apropiadamente. Si se produce un error durante el vaciado asincrónico, no se producirá una excepción hasta que se llame al método EndFlush con el IAsyncResult devuelto por este método.

Llamar a este método asegura que todos los registros anexados a LogRecordSequence se escriben de manera duradera.

Si una secuencia del registro se ha eliminado, o si se pasa un argumento no válido, las excepciones se producen inmediatamente en esta operación. Los errores que se produjeron durante una solicitud de vaciado asincrónica, por ejemplo, un error de disco durante la petición de E/S, producirá excepciones que se inician cuando se llama al método EndFlush.

Se aplica a