Partilhar via


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

Definição

Quando substituída em uma classe derivada, inicia uma operação de liberação assíncrona, usando o espaço reservado anteriormente na sequência.

public:
 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
Public Function BeginFlush (sequenceNumber As SequenceNumber, callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

sequenceNumber
SequenceNumber

O número da sequência do registro mais recente que deve ser gravado. Se esse SequenceNumber for inválido, todos os registros deverão ser gravados.

callback
AsyncCallback

Um retorno de chamada assíncrona opcional, a ser chamada quando a operação de liberação for concluída.

state
Object

Um objeto fornecido pelo usuário que distingue essa solicitação de liberação assíncrona específica de outras solicitações.

Retornos

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

Exceções

Um ou mais argumentos são inválidos.

Um erro de E/S ocorreu ao liberar os dados.

O método foi chamado depois que a sequência foi descartada.

Comentários

Você deve passar o IAsyncResult retornado pelo método atual para o EndFlush método para garantir que a liberação seja concluída e que os recursos sejam liberados adequadamente. Se ocorrer um erro durante uma liberação assíncrona, uma exceção não será gerada até que o EndFlush método seja chamado com o IAsyncResult retornado por esse método.

Chamar esse método garante que todos os registros que foram acrescentados ao IRecordSequence sejam duramente gravados.

Se uma sequência de registros tiver sido descartada ou se você passar um argumento inválido, as exceções serão lançadas imediatamente dentro dessa operação. Erros ocorridos durante uma solicitação de liberação assíncrona, por exemplo, uma falha de disco durante a solicitação de E/S, resultarão na geração de exceções quando o EndFlush método for chamado.

Aplica-se a