FileRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.