EventLog.EntryWritten Händelse

Definition

Inträffar när en post skrivs till en händelselogg på den lokala datorn.

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

Händelsetyp

Exempel

I följande exempel hanteras en post som skrivits.

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

Kommentarer

Om du vill få händelseaviseringar måste du ange EnableRaisingEvents till true. Du kan bara ta emot händelsemeddelanden när poster skrivs på den lokala datorn. Du kan inte ta emot meddelanden för poster som skrivits på fjärrdatorer.

När du skapar ett EntryWritten ombud identifierar du den metod som ska hantera händelsen. Om du vill associera händelsen med händelsehanteraren lägger du till en instans av ombudet till händelsen. Händelsehanteraren anropas när händelsen inträffar tills du tar bort ombudet. Mer information om hur du hanterar händelser med ombud finns i Hantera och höja händelser.

Systemet svarar bara på WriteEntry om den senaste skrivhändelsen inträffade minst sex sekunder tidigare. Detta innebär att du bara får ett EntryWritten händelsemeddelande inom ett intervall på sex sekunder, även om fler än en händelselogg ändras. Om du infogar ett tillräckligt långt vilointervall (cirka 10 sekunder) mellan anrop till WriteEntryär det mindre troligt att du missar en händelse. Men om skrivhändelser inträffar oftare kanske du inte får händelsemeddelandet förrän nästa intervall. Vanligtvis går inte missade händelsemeddelanden förlorade, men fördröjda.

Gäller för

Se även