LogRecordSequence.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 isto 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
sequenceNumber não é válido para esta sequência.
sequenceNumber não está entre os números base e último desta sequência.
O pedido não pôde ser realizado devido a uma exceção inesperada de I/O.
O registo especificado não tem quaisquer extensões. Uma ou mais extensões devem ser criadas antes de uma sequência de registos poder ser utilizada.
A operação não pode ser realizada porque a sequência de registos foi aberta com acesso apenas de leitura.
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.
A sequência de discos está cheia.
O acesso para a sequência de registo especificada é negado pelo sistema operativo.
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 LogRecordSequence 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.