EventLog.EntryWritten Händelse
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.