EventLog.EntryWritten Evento

Definición

Se produce cuando se escribe una entrada en un registro de eventos en el equipo local.

public:
 event System::Diagnostics::EntryWrittenEventHandler ^ EntryWritten;
public event System.Diagnostics.EntryWrittenEventHandler EntryWritten;
member this.EntryWritten : System.Diagnostics.EntryWrittenEventHandler 
Public Custom Event EntryWritten As EntryWrittenEventHandler 

Tipo de evento

Ejemplos

En el ejemplo siguiente se controla un evento escrito de entrada.

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

Comentarios

Para obtener notificaciones de eventos, debe establecer en EnableRaisingEventstrue. Solo puede recibir notificaciones de eventos cuando las entradas se escriben en el equipo local. No puede recibir notificaciones de entradas escritas en equipos remotos.

Al crear un EntryWritten delegado, se identifica el método que controlará el evento. Para asociar el evento con el controlador de eventos, agregue una instancia del delegado al evento. Se llama al controlador de eventos cada vez que se produce el evento, hasta que se quita el delegado. Para obtener más información sobre cómo controlar eventos con delegados, vea Control y generación de eventos.

El sistema responde solo WriteEntry si el último evento de escritura se produjo al menos seis segundos antes. Esto implica que solo recibirá una EntryWritten notificación de evento dentro de un intervalo de seis segundos, incluso si se produce más de un cambio en el registro de eventos. Si inserta un intervalo de suspensión suficientemente largo (alrededor de 10 segundos) entre las llamadas a WriteEntry, es menos probable que pierda un evento. Sin embargo, si se producen eventos de escritura con más frecuencia, es posible que no reciba la notificación de eventos hasta el siguiente intervalo. Normalmente, las notificaciones de eventos perdidas no se pierden, pero se retrasan.

Se aplica a

Consulte también