EventLog.EntryWritten 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í.
Nastane, když je položka zapsána do protokolu událostí v místním počítači.
public:
event System::Diagnostics::EntryWrittenEventHandler ^ EntryWritten;
public event System.Diagnostics.EntryWrittenEventHandler? EntryWritten;
public event System.Diagnostics.EntryWrittenEventHandler EntryWritten;
member this.EntryWritten : System.Diagnostics.EntryWrittenEventHandler
Public Custom Event EntryWritten As EntryWrittenEventHandler
Event Type
Příklady
Následující příklad zpracovává záznam zapsané události.
using System;
using System.Diagnostics;
using System.Threading;
class MySample{
// This member is used to wait for events.
static AutoResetEvent signal;
public static void Main(){
signal = new AutoResetEvent(false);
EventLog myNewLog = new EventLog("Application", ".", "testEventLogEvent");
myNewLog.EntryWritten += new EntryWrittenEventHandler(MyOnEntryWritten);
myNewLog.EnableRaisingEvents = true;
myNewLog.WriteEntry("Test message", EventLogEntryType.Information);
signal.WaitOne();
}
public static void MyOnEntryWritten(object source, EntryWrittenEventArgs e){
Console.WriteLine("In event handler");
signal.Set();
}
}
Option Explicit On
Option Strict On
Imports System.Diagnostics
Imports System.Threading
Class MySample
' This member is used to wait for events.
Private Shared signal As AutoResetEvent
Public Shared Sub Main()
signal = New AutoResetEvent(False)
Dim myNewLog As New EventLog("Application", ".", "testEventLogEvent")
AddHandler myNewLog.EntryWritten, AddressOf MyOnEntryWritten
myNewLog.EnableRaisingEvents = True
myNewLog.WriteEntry("Test message", EventLogEntryType.Information)
signal.WaitOne()
End Sub
Public Shared Sub MyOnEntryWritten(ByVal [source] As Object, ByVal e As EntryWrittenEventArgs)
Console.WriteLine("In event handler")
signal.Set()
End Sub
End Class
Poznámky
Pokud chcete dostávat oznámení o událostech, musíte nastavit EnableRaisingEvents hodnotu true. Oznámení o událostech můžete přijímat pouze v případě, že jsou položky zapsány v místním počítači. Nelze přijímat oznámení o položkách zapsaných na vzdálených počítačích.
Při vytváření delegáta EntryWritten identifikujete metodu, která bude zpracovávat událost. Pokud chcete událost přidružit k obslužné rutině události, přidejte do události instanci delegáta. Obslužná rutina události se volá vždy, když dojde k události, dokud delegáta neodeberete. Další informace o zpracování událostí s delegáty naleznete v tématu Zpracování a vyvolávání událostí.
Systém reaguje WriteEntry pouze v případě, že došlo k poslední události zápisu nejméně šest sekund dříve. To znamená, že během šestisekundového intervalu obdržíte pouze jedno EntryWritten oznámení o události, a to i v případě, že dojde ke změně více protokolů událostí. Pokud mezi volání WriteEntryvložíte dostatečně dlouhý interval režimu spánku (přibližně 10 sekund), budete méně pravděpodobné, že zmeškáte událost. Pokud ale události zápisu probíhají častěji, nemusí se oznámení o události zobrazovat až do dalšího intervalu. Obvykle se zmeškaná oznámení událostí neztratí, ale zpozdí.