C# 事件日志未认证,即使具有管理权限
我正在使用以下代码:C# 事件日志未认证,即使具有管理权限,c#,asp.net,windows,events,logging,C#,Asp.net,Windows,Events,Logging,我正在使用以下代码: public static void ErrorRoutine(Exception e, string obj, string method) { //EventLog.Delete("Info3070"); // uncomment this line to delete log EventLog log = new EventLog(); log.Source = "Helpdesk Case1"; log.Log = "Info307
public static void ErrorRoutine(Exception e, string obj, string method)
{
//EventLog.Delete("Info3070"); // uncomment this line to delete log
EventLog log = new EventLog();
log.Source = "Helpdesk Case1";
log.Log = "Info3070";
if (e.InnerException != null)
{
log.WriteEntry("Error in Models, object = " + obj + ", method = " + method + ", inner exception = " +
e.InnerException.Message, EventLogEntryType.Error);
throw e.InnerException;
}
else
{
log.WriteEntry("Error in Models, object = " + obj + ", method = " + method + ", message = " + e.Message,
EventLogEntryType.Error);
throw e;
}
}
它应该在Windows事件查看器的事件日志中记录错误,但即使以管理员身份运行也不会这样做。您必须首先定义源,我怀疑“Helpdesk Case1”未知。如果不存在具有指定参数的事件日志,您应该在以下时间之前创建它:
const string sSource = "Helpdesk Case1";
const string sLog = "Info3070";
if (!EventLog.SourceExists(sSource))
EventLog.CreateEventSource(sSource, sLog);
EventLog log = new EventLog { Source = sSource, Log = sLog };
谢谢你们两位的帮助。我发现了这个问题,令人尴尬的是,这根本不是问题,我自己在事件查看器中查看的文件夹是错误的。不过,您提供了一些关于最佳实践的极好建议。