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

Definição

Inicia uma operação de limpeza assíncrona, usando espaço previamente reservado na sequência. Este método não pode ser herdado.

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

O número de sequência do registo mais recente que deve ser escrito. Se SequenceNumber for inválido, então todos os registos devem ser escritos.

callback
AsyncCallback

Um callback assíncrono opcional, a ser chamado quando o flush estiver completo.

state
Object

Um objeto fornecido pelo utilizador que distingue este pedido de limpeza assíncrono de outros pedidos.

Devoluções

Um IAsyncResult que representa a operação de limpeza assíncrona, que ainda pode estar pendente.

Implementações

Exceções

Um ou mais dos argumentos são inválidos.

sequenceNumber não é válido para esta sequência.

sequenceNumber não está entre os números base e último desta sequência.

Ocorreu um erro de I/O durante a limpeza dos dados.

O método era chamado depois de a sequência ter sido eliminada.

Não há memória suficiente para continuar a execução do programa.

Observações

Deve passar o IAsyncResult retorno pelo método atual para o EndFlush método para garantir que o flush está completo e os recursos são devidamente libertados. Se ocorrer um erro durante um flush assíncrono, uma exceção não é lançada até que o EndFlush método seja chamado com o IAsyncResult retorno por este método.

Chamar este método garante que todos os registos que foram anexados ao FileRecordSequence são escritos de forma duradoura.

Se uma sequência de registos tiver sido eliminada, ou se passar um argumento inválido, exceções são lançadas imediatamente dentro desta operação. Erros que ocorreram durante um pedido de limpeza assíncrono, por exemplo, uma falha de disco durante o pedido de E/S, resultarão em exceções lançadas quando o EndFlush método é chamado.

Aplica-se a