Partilhar via


FileRecordSequence.BeginAppend Método

Definição

Inicia uma operação de acréscimo assíncrona.

Sobrecargas

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Começa uma operação de acréscimo assíncrona, usando o espaço reservado anteriormente na sequência. Esse método não pode ser herdado.

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Começa uma operação de acréscimo assíncrona, usando o espaço reservado anteriormente na sequência. Esse método não pode ser herdado.

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Inicia uma operação de acréscimo assíncrona. Esse método não pode ser herdado.

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Inicia uma operação de acréscimo assíncrona. Esse método não pode ser herdado.

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Começa uma operação de acréscimo assíncrona, usando o espaço reservado anteriormente na sequência. Esse método não pode ser herdado.

public:
 virtual IAsyncResult ^ BeginAppend(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 ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (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 reservations, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

data
IList<ArraySegment<Byte>>

Uma lista de segmentos de matriz de bytes que serão concatenados e acrescentados como o registro.

nextUndoRecord
SequenceNumber

O número de sequência do próximo registro na ordem especificada pelo usuário.

previousRecord
SequenceNumber

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

recordAppendOptions
RecordAppendOptions

Um valor válido de RecordAppendOptions que especifica como os dados devem ser gravados.

reservations
ReservationCollection

Um ReservationCollection que contém a reserva que deve ser usada para este registro.

callback
AsyncCallback

Um retorno de chamada assíncrono opcional, a ser chamado quando o acréscimo for concluído.

state
Object

Um objeto fornecido pelo usuário que distingue essa solicitação de acréscimo assíncrono específica de outras solicitações.

Retornos

Um IAsyncResult que representa o acréscimo assíncrono, que ainda pode estar pendente.

Implementações

Exceções

Um ou mais argumentos são null.

Um ou mais argumentos estão fora do intervalo.

reservations não foi criado por essa sequência de registro.

Não é possível executar a operação porque a sequência de registros foi aberta com acesso somente leitura.

A solicitação não pode ser executada devido a uma exceção de E/S inesperada.

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

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

A sequência de registros está cheia.

Nenhuma reserva suficientemente grande para se ajustar a data pode ser encontrada em reservations.

Comentários

Você deve passar o IAsyncResult retornado por esse método para o EndAppend método , para garantir que a operação de acréscimo tenha sido concluída e que os recursos possam ser liberados adequadamente. Se ocorrer um erro durante um acréscimo assíncrono, uma exceção não será gerada até que o EndAppend método seja chamado com o IAsyncResult retornado por esse método.

Os dados contidos no data parâmetro serão concatenados em uma única matriz de bytes para acrescentar como o registro. No entanto, nenhuma provisão é feita para dividir dados novamente em segmentos de matriz quando o registro é lido.

O registro acrescentado consumirá espaço reservado anteriormente, usando uma reserva especificada pelo reservations parâmetro . Se o acréscimo for bem-sucedido, ele consumirá a menor área de reserva que pode conter os dados e essa área de reserva será removida da coleção.

Normalmente, esse método é concluído antes da gravação do registro. Para garantir que um registro tenha sido gravado, especifique o ForceFlush sinalizador usando o recordAppendOptions parâmetro ou chame o Flush método .

Aplica-se a

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Começa uma operação de acréscimo assíncrona, usando o espaço reservado anteriormente na sequência. Esse método não pode ser herdado.

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

Parâmetros

data
ArraySegment<Byte>

Uma lista de segmentos de matriz de bytes que serão concatenados e acrescentados como o registro.

nextUndoRecord
SequenceNumber

O número de sequência do próximo registro na ordem especificada pelo usuário.

previousRecord
SequenceNumber

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

recordAppendOptions
RecordAppendOptions

Um valor válido de RecordAppendOptions que especifica como os dados devem ser gravados.

reservations
ReservationCollection

Um ReservationCollection que contém a reserva que deve ser usada para este registro.

callback
AsyncCallback

Um retorno de chamada assíncrono opcional, a ser chamado quando o acréscimo for concluído.

state
Object

Um objeto fornecido pelo usuário que distingue essa solicitação de acréscimo assíncrono específica de outras solicitações.

Retornos

Um IAsyncResult que representa o acréscimo assíncrono, que ainda pode estar pendente.

Implementações

Exceções

Um ou mais argumentos são null.

Um ou mais argumentos estão fora do intervalo.

reservations não foi criado por essa sequência de registro.

Não é possível executar a operação porque a sequência de registros foi aberta com acesso somente leitura.

A solicitação não pode ser executada devido a uma exceção de E/S inesperada.

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

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

A sequência de registros está cheia.

Nenhuma reserva suficientemente grande para se ajustar a data pode ser encontrada em reservations.

Comentários

Você deve passar o IAsyncResult retornado por esse método para o EndAppend método , para garantir que a operação de acréscimo tenha sido concluída e que os recursos possam ser liberados adequadamente. Se ocorrer um erro durante um acréscimo assíncrono, uma exceção não será gerada até que o EndAppend método seja chamado com o IAsyncResult retornado por esse método.

Os dados contidos no data parâmetro serão concatenados em uma única matriz de bytes para acrescentar como o registro. No entanto, nenhuma provisão é feita para dividir dados novamente em segmentos de matriz quando o registro é lido.

O registro acrescentado consumirá espaço reservado anteriormente, usando uma reserva especificada pelo reservations parâmetro . Se o acréscimo for bem-sucedido, ele consumirá a menor área de reserva que pode conter os dados e essa área de reserva será removida da coleção.

Normalmente, esse método é concluído antes da gravação do registro. Para garantir que um registro tenha sido gravado, especifique o ForceFlush sinalizador usando o recordAppendOptions parâmetro ou chame o Flush método .

Aplica-se a

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Inicia uma operação de acréscimo assíncrona. Esse método não pode ser herdado.

public:
 virtual IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

data
ArraySegment<Byte>

Uma lista de segmentos de matriz de bytes que serão concatenados e acrescentados como o registro.

nextUndoRecord
SequenceNumber

O número de sequência do próximo registro na ordem especificada pelo usuário.

previousRecord
SequenceNumber

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

recordAppendOptions
RecordAppendOptions

Um valor válido de RecordAppendOptions que especifica como os dados devem ser gravados.

callback
AsyncCallback

Um retorno de chamada assíncrono opcional, a ser chamado quando o acréscimo for concluído.

state
Object

Um objeto fornecido pelo usuário que distingue essa solicitação de acréscimo assíncrono específica de outras solicitações.

Retornos

Um IAsyncResult que representa o acréscimo assíncrono, que ainda pode estar pendente.

Implementações

Exceções

Um ou mais argumentos são null.

Um ou mais argumentos estão fora do intervalo.

Não é possível executar a operação porque a sequência de registros foi aberta com acesso somente leitura.

A solicitação não pode ser executada devido a uma exceção de E/S inesperada.

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

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

A sequência de registros está cheia.

Comentários

Você deve passar o IAsyncResult retornado por esse método para o EndAppend método , para garantir que a operação de acréscimo tenha sido concluída e que os recursos possam ser liberados adequadamente. Se ocorrer um erro durante um acréscimo assíncrono, uma exceção não será gerada até que o EndAppend método seja chamado com o IAsyncResult retornado por esse método.

Os dados contidos no data parâmetro serão concatenados em uma única matriz de bytes para acrescentar como o registro. No entanto, nenhuma provisão é feita para dividir dados novamente em segmentos de matriz quando o registro é lido.

Normalmente, esse método é concluído antes da gravação do registro. Para garantir que um registro tenha sido gravado, especifique o ForceFlush sinalizador usando o recordAppendOptions parâmetro ou chame o Flush método .

Aplica-se a

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Inicia uma operação de acréscimo assíncrona. Esse método não pode ser herdado.

public:
 virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

data
IList<ArraySegment<Byte>>

Uma lista de segmentos de matriz de bytes que serão concatenados e acrescentados como o registro.

nextUndoRecord
SequenceNumber

O número de sequência do próximo registro na ordem especificada pelo usuário.

previousRecord
SequenceNumber

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

recordAppendOptions
RecordAppendOptions

Um valor válido de RecordAppendOptions que especifica como os dados devem ser gravados.

callback
AsyncCallback

Um retorno de chamada assíncrono opcional, a ser chamado quando o acréscimo for concluído.

state
Object

Um objeto fornecido pelo usuário que distingue essa solicitação de acréscimo assíncrono específica de outras solicitações.

Retornos

Um IAsyncResult que representa o acréscimo assíncrono, que ainda pode estar pendente.

Implementações

Exceções

Um ou mais argumentos são null.

Um ou mais argumentos estão fora do intervalo.

Não é possível executar a operação porque a sequência de registros foi aberta com acesso somente leitura.

A solicitação não pode ser executada devido a uma exceção de E/S inesperada.

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

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

A sequência de registros está cheia.

Comentários

Você deve passar o IAsyncResult retornado por esse método para o EndAppend método , para garantir que a operação de acréscimo tenha sido concluída e que os recursos possam ser liberados adequadamente. Se ocorrer um erro durante um acréscimo assíncrono, uma exceção não será gerada até que o EndAppend método seja chamado com o IAsyncResult retornado por esse método.

Os dados contidos no data parâmetro serão concatenados em uma única matriz de bytes para acrescentar como o registro. No entanto, nenhuma provisão é feita para dividir dados novamente em segmentos de matriz quando o registro é lido.

Normalmente, esse método é concluído antes da gravação do registro. Para garantir que um registro tenha sido gravado, especifique o ForceFlush sinalizador usando o recordAppendOptions parâmetro ou chame o Flush método .

Aplica-se a