LogRecordSequence.TailPinned Evento

Definição

Sinaliza a necessidade de mover a parte final da sequência.

public:
 virtual event EventHandler<System::IO::Log::TailPinnedEventArgs ^> ^ TailPinned;
public event EventHandler<System.IO.Log.TailPinnedEventArgs> TailPinned;
member this.TailPinned : EventHandler<System.IO.Log.TailPinnedEventArgs> 
Public Custom Event TailPinned As EventHandler(Of TailPinnedEventArgs) 

Tipo de evento

Implementações

Exemplos

Este exemplo mostra como usar o TailPinned evento.

recordSequence.RetryAppend = true;
recordSequence.TailPinned += new EventHandler<TailPinnedEventArgs>(HandleTailPinned);

void HandleTailPinned(object sender, TailPinnedEventArgs tailPinnedEventArgs)
{
   // tailPinnedEventArgs.TargetSequenceNumber is the target
   // sequence number to free up space to.
   // However, this sequence number is not necessarily valid. We have
   // to use this sequence number as a starting point for finding a
   // valid point within the log to advance toward. You need to
   // identify a record with a sequence number equal to, or greater
   // than TargetSequenceNumber; let's call this
   // realTargetSequenceNumber. Once found, move the base

   recordSequence.AdvanceBaseSequenceNumber(realTargetSequenceNumber);

}

Comentários

Você pode disparar esse evento quando a sequência de registros ficar sem espaço. Quando esse evento é acionado, a parte final da sequência (ou seja, o número de sequência base) é movida para frente para liberar espaço.

O evento pode ser acionado a qualquer momento quando a sequência de registros decide que ele deve liberar espaço, por qualquer motivo. Por exemplo, o mecanismo de política CLFS pode decidir acionar o evento quando determinar que as caudas de dois clientes de log que compartilham o mesmo arquivo de log estão muito distantes. A liberação de espaço pode ser feita gravando áreas de reinicialização ou truncando o log e usando o método para limpar o AdvanceBaseSequenceNumber espaço. O exemplo de código na seção Exemplo demonstra a segunda abordagem.

Você também pode chamar o WriteRestartArea método fora do TailPinned evento para espaço livre. Uma área de reinicialização é semelhante a um ponto de verificação em outros sistemas de processamento de log. Chamar esse método indica que o aplicativo considera todos os registros anteriores antes da área de reinicialização como totalmente concluída e utilizável para acréscimos de registro futuros. Semelhante a qualquer outro registro, o registro gravado por esse método requer espaço livre real no log para funcionar.

Aplica-se a