获取此异常 文件大小超过允许的限制,使用写入事件查看器时无法保存EventLog
使用的代码:
string cs = "LoggingService";
EventLog elog = new EventLog();
if (!EventLog.SourceExists(cs))
{
EventLog.CreateEventSource(cs, cs);
}
elog.Source = cs;
elog.EnableRaisingEvents = true;
elog.WriteEntry(message);
堆栈跟踪:
System.ComponentModel.Win32Exception (0x80004005): The file size exceeds the limit allowed and cannot be saved
at System.Diagnostics.EventLogInternal.get_OldestEntryNumber()
at System.Diagnostics.EventLogInternal.StartRaisingEvents(String currentMachineName, String currentLogName)
at System.Diagnostics.EventLogInternal.set_EnableRaisingEvents(Boolean value)
尝试的事情:
- http://support.microsoft.com/kb/328380#top
当我 在收到不同的异常
elog.Clear()
之前发表此声明时elog.EnableRaisingEvents = true;
System.ComponentModel.Win32Exception (0x80004005):访问在 System.Diagnostics.EventLogInternal.Clear() 被拒绝
上面的代码是由运行在LocalSystem下的 Web 服务执行的,该服务对计算机具有完全权限。
操作系统:windows server 2008R2 和 .NET 4.0