FileRecordSequence.BeginReserveAndAppend Método

Definição

Inicia uma operação assíncrona de reserva e anexação.

Sobrecargas

Name Description
BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Inicia uma operação assíncrona de reserva e anexação. Este método não pode ser herdado.

BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Inicia uma operação assíncrona de reserva e anexação. Este método não pode ser herdado.

BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Inicia uma operação assíncrona de reserva e anexação. Este método não pode ser herdado.

public:
 virtual IAsyncResult ^ BeginReserveAndAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, cli::array <long> ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReserveAndAppend(ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, long[] reservations, AsyncCallback callback, object state);
abstract member BeginReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
override this.BeginReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
Public Function BeginReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, reservations As Long(), callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

data
ArraySegment<Byte>

Uma lista de segmentos de array de bytes que serão concatenados e adicionados como registo.

nextUndoRecord
SequenceNumber

O número de sequência do registo seguinte na ordem especificada pelo utilizador.

previousRecord
SequenceNumber

O número de sequência do próximo registo na ordem Anterior.

recordAppendOptions
RecordAppendOptions

Um valor válido de RecordAppendOptions isso especifica como os dados devem ser escritos.

reservationCollection
ReservationCollection

A recolha de reservas para fazer reservas em.

reservations
Int64[]

As reservas a fazer, em bytes.

callback
AsyncCallback

Um callback assíncrono opcional, a ser chamado quando o anexo estiver concluído.

state
Object

Um objeto fornecido pelo utilizador que distingue este pedido de adição assíncrono particular de outros pedidos.

Devoluções

An IAsyncResult que representa esta operação assíncrona, que ainda pode estar pendente.

Implementações

Exceções

Um ou mais dos argumentos são null.

Um ou mais dos argumentos estão fora do alcance.

reservations não foi criado por esta sequência de registos.

A operação não pode ser realizada porque a sequência de registos foi aberta com acesso apenas de leitura.

O pedido não pôde ser realizado devido a uma exceção inesperada de I/O.

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.

Não se encontra nenhuma reserva suficientemente grande para caber data em reservations.

Observações

Deve passar o IAsyncResult retorno por este método para o EndReserveAndAppend método, para garantir que a operação de anexação foi concluída e que os recursos podem ser libertados adequadamente. Se ocorrer um erro durante uma adição assíncrona, uma exceção não é lançada até que o EndReserveAndAppend método seja chamado com o IAsyncResult retorno por este método.

Os dados contidos no data parâmetro serão concatenados num array de um único byte para serem adicionados como registo. No entanto, não é prevista a divisão dos dados em segmentos de array quando o registo é lido.

As reservas especificadas são adicionadas à coleção de reservas fornecida numa operação atómica com uma operação de anexação de registos. Se o anexo falhar, não há espaço reservado.

Normalmente, este método pode concluir-se antes de o registo ter sido escrito. Para garantir que um registo foi escrito, especifique o ForceFlush flag usando o recordAppendOptions parâmetro ou chame o Flush método.

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 adição assíncrono, por exemplo, uma falha de disco durante o pedido de E/S, resultarão em exceções lançadas quando o EndReserveAndAppend método for chamado.

Aplica-se a

BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Inicia uma operação assíncrona de reserva e anexação. Este método não pode ser herdado.

public:
 virtual IAsyncResult ^ BeginReserveAndAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, cli::array <long> ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReserveAndAppend(System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, long[] reservations, AsyncCallback callback, object state);
abstract member BeginReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
override this.BeginReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
Public Function BeginReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, reservations As Long(), callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

data
IList<ArraySegment<Byte>>

Uma lista de segmentos de array de bytes que serão concatenados e adicionados como registo.

nextUndoRecord
SequenceNumber

O número de sequência do registo seguinte na ordem especificada pelo utilizador.

previousRecord
SequenceNumber

O número de sequência do próximo registo na ordem Anterior.

recordAppendOptions
RecordAppendOptions

Um valor válido de RecordAppendOptions isso especifica como os dados devem ser escritos.

reservationCollection
ReservationCollection

A recolha de reservas para fazer reservas em.

reservations
Int64[]

As reservas a fazer, em bytes.

callback
AsyncCallback

Um callback assíncrono opcional, a ser chamado quando o anexo estiver concluído.

state
Object

Um objeto fornecido pelo utilizador que distingue este pedido de adição assíncrono particular de outros pedidos.

Devoluções

An IAsyncResult que representa esta operação assíncrona, que ainda pode estar pendente.

Implementações

Exceções

Um ou mais dos argumentos são null.

Um ou mais dos argumentos estão fora do alcance.

reservations não foi criado por esta sequência de registos.

A operação não pode ser realizada porque a sequência de registos foi aberta com acesso apenas de leitura.

O pedido não pôde ser realizado devido a uma exceção inesperada de I/O.

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.

Não se encontra nenhuma reserva suficientemente grande para caber data em reservations.

Observações

Deve passar o IAsyncResult retorno por este método para o EndReserveAndAppend método, para garantir que a operação de anexação foi concluída e que os recursos podem ser libertados adequadamente. Se ocorrer um erro durante uma adição assíncrona, uma exceção não é lançada até que o EndReserveAndAppend método seja chamado com o IAsyncResult retorno por este método.

Os dados contidos no data parâmetro serão concatenados num array de um único byte para serem adicionados como registo. No entanto, não é prevista a divisão dos dados em segmentos de array quando o registo é lido.

As reservas especificadas são adicionadas à coleção de reservas fornecida numa operação atómica com uma operação de anexação de registos. Se o anexo falhar, não há espaço reservado.

Normalmente, este método pode concluir-se antes de o registo ter sido escrito. Para garantir que um registo foi escrito, especifique o ForceFlush flag usando o recordAppendOptions parâmetro ou chame o Flush método.

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 adição assíncrono, por exemplo, uma falha de disco durante o pedido de E/S, resultarão em exceções lançadas quando o EndReserveAndAppend método for chamado.

Aplica-se a