Hey Leute. Ich habe eine App, die in das Windows-Ereignisprotokoll schreibt. Nun möchte ich die gleiche App in der Lage sein, das Ereignisprotokoll zu lesen und die darin enthaltenen Informationen zu verarbeiten.Aus einem Eventlog programmatisch lesen
Ich benutze meine eigene DLL, um mein Lesen und Schreiben zu tun. Der Code für das Lesen:
public static EventLog getEventLog(string Source, string Log)
{
using(EventLog ev = new EventLog(Log, System.Environment.MachineName, Source))
{
if (ev.Entries.Count <= 0)
{
return null;
}
else
{
return ev;
}
}
}
Hier ist der Code Ich benutze das eventlog
private void ProcessEvents()
{
using (EventLog ev = EventComms.EventComms.getEventLog("Application", "Application"))
{
for (int i = ev.Entries.Count - 1; i >= ev.Entries.Count; i--)
{
EventLogEntry CurrentEntry = ev.Entries[i];
Console.WriteLine("Event ID : " + CurrentEntry.InstanceId);
Console.WriteLine("Entry Type : " + CurrentEntry.EntryType.ToString());
Console.WriteLine("Message : " + CurrentEntry.Message + "\n");
}
}
}
Nun zu behandeln, wenn ich versuche, und etwas tun mit dem zurück Log ich eine (ObjectDisposedException was unhandled Message=Cannot access a disposed object.)
Exception. Ich bekomme die Ausnahme, wenn ich ev.Entries.Count
verwenden
Warum bekomme ich den Fehler, und was ist der beste Weg, damit umzugehen?
genial. Wie habe ich das vermisst? Vielen Dank. Es funktioniert jetzt. –