LogRecordSequence.TailPinned Evento

Definición

Indica la necesidad de mover la cola de la secuencia.

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

Implementaciones

Ejemplos

En este ejemplo se muestra cómo usar el 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);

}

Comentarios

Puede desencadenar este evento cuando la secuencia de registros se haya quedado sin espacio. Cuando se desencadena este evento, la cola de la secuencia (es decir, el número de secuencia base) se mueve hacia delante para liberar espacio.

El evento se puede desencadenar en cualquier momento cuando la secuencia de registros decida que debe liberar espacio, por cualquier motivo. Por ejemplo, el motor de directivas CLFS puede decidir desencadenar el evento cuando determina que las colas de dos clientes de registro que comparten el mismo archivo de registro están demasiado separadas. Se puede liberar espacio escribiendo áreas de reinicio o truncando el registro y usando el método para borrar el AdvanceBaseSequenceNumber espacio. El ejemplo de código de la sección Ejemplo muestra el segundo enfoque.

También puede llamar al WriteRestartArea método fuera del TailPinned evento para liberar espacio. Un área de reinicio es similar a un punto de control en otros sistemas de procesamiento de registros. Al llamar a este método se indica que la aplicación tiene en cuenta todos los registros anteriores antes del área de reinicio como completados por completo y que se pueden usar para los anexos futuros del registro. De forma similar a cualquier otro registro, el registro escrito por este método requiere espacio libre real en el registro para funcionar.

Se aplica a