EventLog.EntryWritten Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.