嘿家伙。 我有一个写入Windows事件日志的应用程序。 现在我想要相同的应用程序能够读取事件日志过程中的信息。正在从事件日志中阅读
我用我自己的dll来做我的阅读和写作。对于读取代码:
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;
}
}
}
这是我用来处理事件日志
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");
}
}
}
现在,当我尝试做返回的登录一些代码中,我得到一个(ObjectDisposedException was unhandled Message=Cannot access a disposed object.)
例外。 我收到异常,当我使用ev.Entries.Count
为什么我得到错误,以及处理它的最佳方法是什么?
真棒。我怎么错过了?谢谢。它现在有效。 – 2010-12-15 09:42:23