Partilhar via


IRecordSequence.BeginWriteRestartArea Método

Definição

Quando substituída em uma classe derivada, inicia uma operação de gravação de área de reinicialização assíncrona.

Sobrecargas

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Quando substituída em uma classe derivada, inicia uma operação gravação de área de reinicialização assíncrona, usando o espaço reservado anteriormente na sequência.

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

Quando substituída em uma classe derivada, inicia uma operação gravação de área de reinicialização assíncrona, usando o espaço reservado anteriormente na sequência.

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Quando substituída em uma classe derivada, inicia uma operação gravação de área de reinicialização assíncrona, usando o espaço reservado anteriormente na sequência.

public:
 IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSequenceNumber As SequenceNumber, reservation 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.

newBaseSequenceNumber
SequenceNumber

O novo número de sequência de base. O número de sequência especificado deve ser maior ou igual ao número de sequência de base atual.

reservation
ReservationCollection

Um ReservationCollection que contém a reserva que deve ser usada para esta área de reinicialização.

callback
AsyncCallback

Um retorno de chamada assíncrona opcional, a ser chamada quando a gravação da área de reinicialização for concluída.

state
Object

Um objeto fornecido pelo usuário que distingue essa solicitação de gravação de área de reinicialização assíncrona específica de outras solicitações.

Retornos

Um IAsyncResult que representa a operação de gravação da área de reinicialização assíncrona, que ainda pode estar pendente.

Comentários

Você deve passar o IAsyncResult retornado por esse método para o EndWriteRestartArea método , para garantir que a operação de gravação da área de reinicialização tenha sido concluída e que os recursos possam ser liberados adequadamente. Se ocorrer um erro durante uma operação de gravação de área de reinicialização assíncrona, uma exceção não será gerada até que o EndWriteRestartArea 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.

Quando a operação for concluída com êxito, o número da sequência base será atualizado. Todos os registros de log com números de sequência menores que o novo número de sequência base são inacessíveis.

Se um ReservationCollection for especificado, a área de reinicialização por escrito consumirá o espaço que foi reservado anteriormente, usando uma reserva contida na coleção. Se o método for bem-sucedido, ele consumirá a menor reserva que pode conter os dados e essa reserva será removida da coleção.

Se uma sequência de registros tiver sido descartada ou se você passar um argumento inválido, as exceções serão lançadas imediatamente dentro dessa operação. Erros que ocorreram durante uma solicitação de acréscimo assíncrona, por exemplo, uma falha de disco durante a solicitação de E/S, resultarão na geração de exceções quando o EndWriteRestartArea método for chamado.

Aplica-se a

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

Quando substituída em uma classe derivada, inicia uma operação gravação de área de reinicialização assíncrona, usando o espaço reservado anteriormente na sequência.

public:
 IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSequenceNumber As SequenceNumber, reservation 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.

newBaseSequenceNumber
SequenceNumber

O novo número de sequência de base. O número de sequência especificado deve ser maior ou igual ao número de sequência de base atual.

reservation
ReservationCollection

Um ReservationCollection que contém a reserva que deve ser usada para esta área de reinicialização.

callback
AsyncCallback

Um retorno de chamada assíncrona opcional, a ser chamada quando a gravação da área de reinicialização for concluída.

state
Object

Um objeto fornecido pelo usuário que distingue essa solicitação de gravação de área de reinicialização assíncrona específica de outras solicitações.

Retornos

Um IAsyncResult que representa a operação de gravação da área de reinicialização assíncrona, que ainda pode estar pendente.

Exceções

Um ou mais argumentos são inválidos.

Ocorreu um erro de E/S ao gravar a área de reinicialização.

A sequência de registro não pôde gerar espaço livre suficiente para conter o novo registro.

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

Comentários

Você deve passar o IAsyncResult retornado por esse método para o EndWriteRestartArea método para garantir que a operação de gravação da área de reinicialização tenha sido concluída e que os recursos possam ser liberados adequadamente. Se ocorrer um erro durante uma operação de gravação de área de reinicialização assíncrona, uma exceção não será gerada até que o EndWriteRestartArea 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.

Quando a operação for concluída com êxito, o número da sequência base será atualizado. Todos os registros de log com números de sequência menores que o novo número de sequência base são inacessíveis.

Se um ReservationCollection for especificado, a área de reinicialização por escrito consumirá o espaço que foi reservado anteriormente, usando uma reserva contida na coleção. Se o método for bem-sucedido, ele consumirá a menor reserva que pode conter os dados e essa reserva será removida da coleção.

Se uma sequência de registros tiver sido descartada ou se você passar um argumento inválido, as exceções serão lançadas imediatamente dentro dessa operação. Erros que ocorreram durante uma solicitação de acréscimo assíncrona, por exemplo, uma falha de disco durante a solicitação de E/S, resultarão na geração de exceções quando o EndWriteRestartArea método for chamado.

Aplica-se a