Sdílet prostřednictvím


LogRecordSequence.TailPinned Událost

Definice

Signalizuje potřebu pohybu chvostem sekvence.

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) 

Event Type

Implementuje

Příklady

Tento příklad ukazuje, jak událost používat 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);  

}  

Poznámky

Tuto událost můžete aktivovat, když v sekvenci záznamů dojde místo. Když je tato událost aktivována, chvost sekvence (to znamená číslo základní sekvence) se posune dopředu, aby se uvolnilo místo.

Událost může být aktivována kdykoli, když sekvence záznamů rozhodne, že musí uvolnit místo, a to z jakéhokoli důvodu. Modul zásad CLFS se například může rozhodnout aktivovat událost, když zjistí, že chvosty dvou klientů protokolu sdílejících stejný soubor protokolu jsou příliš daleko od sebe. Uvolnění místa lze provést buď zápisem oblastí restartování, nebo zkrácením protokolu a použitím AdvanceBaseSequenceNumber metody k uvolnění místa. Ukázka kódu v části Příklad ukazuje druhý přístup.

Můžete také volat metodu WriteRestartArea mimo TailPinned událost, aby se uvolnilo místo. Oblast restartování je podobná kontrolnímu bodu v jiných systémech zpracování protokolu. Volání této metody indikuje, že aplikace považuje všechny předchozí záznamy před oblastí restartování za plně dokončené a použitelné pro budoucí připojení záznamů. Podobně jako u jiných záznamů vyžaduje záznam zapsaný touto metodou skutečné volné místo v protokolu, aby fungoval.

Platí pro