LogRecordSequence.TailPinned Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.