LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.