EventLog.EntryWritten Událost

Definice

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í.

Platí pro

Viz také