检查事件日志写入权限而不写入条目

时间:2011-02-21 13:37:05

标签: c# event-log

我需要检查用户是否具有事件日志的写权限。我现在的解决方案是在日志中写一条测试消息并在之后将其删除(这样日志就不会搞砸了,因为经常会调查权限检查(每3-5分钟)一些'Healthcheck' - 服务:

const string log = "MyApplicationLog";
const string source = "PermissionCheck";
EventLog evLog;

try
{
    if (!EventLog.SourceExists(source))
    {
        EventLog.CreateEventSource(source, log);
    }
    evLog = new EventLog();
    evLog.Source = source;
    evLog.WriteEntry("PermissionCheck Test Message");
    return true;
}
finally
{
    //remove the check messages:
    if (EventLog.Exists(log))
    {
        EventLog.Delete(log);
    }
}

是否有可能在没有实际编写日志条目的情况下检查权限?

提前谢谢你,

ElKunzo

1 个答案:

答案 0 :(得分:1)

是的,AFAIK,使用CAS。用EventLogPermission属性装饰所需的成员,从那里你可以控制你是否必须有访问权限,只需要等等。

如果您不熟悉,这可能需要CAS本身的进一步冒险。

MSDN Link