LogRecordSequence.BeginAppend Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 .