LogRecordSequence.TailPinned Evento

Definición

Señala 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 utilizar el evento TailPinned.

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 del registro se haya quedado sin espacio. Cuando se desencadena este evento, la cola de la secuencia (es decir, el número de secuencia base) avanza para liberar espacio.

Se puede desencadenar el evento en cualquier momento que la secuencia del registro decida que debe liberar espacio por cualquier razón. Por ejemplo, el motor de directiva de CLFS puede decidir desencadenar el evento cuando determina que las colas de dos clientes del 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 utilizando el método AdvanceBaseSequenceNumber para liberar espacio. El ejemplo de código en la sección Ejemplo muestra el segundo enfoque.

También puede llamar al método WriteRestartArea fuera del evento TailPinned para liberar espacio. Una área de reinicio es similar a un punto de control en otros sistemas de procesamiento de registro. Llamar a este método indica que la aplicación considera que todos los registros anteriores antes del área de reinicio están completos y son utilizables para futuros anexos del registro. De modo similar a cualquier otro registro, el registro escrito por este método requiere espacio disponible real en el registro para funcionar.

Se aplica a