Compartilhar via


LogRecordSequence.BeginAppend Método

Definição

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

Sobrecargas

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(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, 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)

Inicia uma operação de acréscimo assíncrona. 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.

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

nextUndoRecord ou previousRecord não é válido para essa sequência.

- ou -

data não pode ser anexado porque é maior que o tamanho máximo do registro.

- ou -

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

Um ou mais argumentos são null.

nextUndoRecord ou previousRecord não está entre os números de base e de última sequência dessa sequência.

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

- ou -

Não foi possível executar a solicitação devido a um erro de dispositivo de E/S.

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

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.

O acesso para a sequência de log especificada foi negado pelo sistema operacional.

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 userRecord, 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 userRecord, 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)), userRecord 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.

userRecord
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

userRecord ou previousRecord não é válido para essa sequência.

- ou -

data não pode ser anexado porque é maior que o tamanho máximo do registro.

- ou -

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

Um ou mais argumentos são null.

userRecord ou previousRecord não está entre os números de base e de última sequência dessa sequência.

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

- ou -

Não foi possível executar a solicitação devido a um erro de dispositivo de E/S.

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

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.

O acesso para a sequência de log especificada foi negado pelo sistema operacional.

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(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, 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, 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

userRecord ou previousRecord não é válido para essa sequência.

- ou -

data não pode ser anexado porque é maior que o tamanho máximo do registro.

- ou -

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

Um ou mais argumentos são null.

userRecord ou previousRecord não está entre os números de base e de última sequência dessa sequência.

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

- ou -

Não foi possível executar a solicitação devido a um erro de dispositivo de E/S.

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

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.

O acesso para a sequência de log especificada foi negado pelo sistema operacional.

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(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, 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 userRecord, 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 userRecord, 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)), userRecord 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.

userRecord
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

userRecord ou previousRecord não é válido para essa sequência.

- ou -

data não pode ser anexado porque é maior que o tamanho máximo do registro.

- ou -

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

Um ou mais argumentos são null.

userRecord ou previousRecord não está entre os números de base e de última sequência dessa sequência.

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

- ou -

Não foi possível executar a solicitação devido a um erro de dispositivo de E/S.

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

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.

O acesso para a sequência de log especificada foi negado pelo sistema operacional.

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