2009-12-15 3 views
1

J'ai écrit:Comment puis-je écrire dans le journal des événements Windows en utilisant C# (je reçois une sorte d'erreur)?

. 
. 
. 
//Log exception to the event log 
if (!EventLog.SourceExists("PodaHIS")) { 
    EventLog.CreateEventSource("PodaHIS", "Application"); 
} 

EventLog eventLog = new EventLog(); 
eventLog.Log = "Application"; 
eventLog.Source = "PodaHIS"; 
eventLog.WriteEntry(error.ToString(), EventLogEntryType.Error); 

J'ai également permis l'autorisation de lecture localMachine \ ASPNET.

Et en retour que je reçois:

The source was not found, but some or all event logs could not be searched. Inaccesible logs: Security. 

Est-ce que quelqu'un sait pourquoi cela se passe?

Répondre

3

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog

Ce qu'il faut faire, c'est accorder la sous-clé "Security" de l'autorisation de lecture de la clé EventLog. Après cela, j'ai redémarré mon IIS.

0

Je pense qu'un niveau d'accès supérieur est requis pour créer une source dans le journal des événements. Il est possible que la référence au journal de sécurité soit une coïncidence et que cela ne soit qu'une cause possible. Si vous y entrez en tant qu'administrateur et que vous créez vous-même la source PodaHIS, vous pouvez alors constater qu'il peut y écrire.

+0

L'utilisateur actuel dispose de droits d'administrateur. – Tebo

1

cette kb artical explique les étapes nécessaires pour donner à votre processus de asp les droits de sécurité correctes pour écrire dans le journal des événements ...

kb

+0

Mon problème a dû faire avec la sous-clé de sécurité et le redémarrage d'IIS. – Tebo

0

Qu'est-ce que votre environnement de déploiement? Si c'est Vista/Server 2008, ajouter un compte de travail dans le groupe Administrateurs ne fonctionnera pas en raison de l'UAC. Ce numéro link explique le problème en détails. Mais je recommande d'essayer créer une source d'événement manuellement afin ASPNET ne sera pas nécessaire de le créer ...

+0

J'ai trouvé une solution si ma réponse ci-dessous. – Tebo

1

Si vous avez la permission sur la case que vous voulez écrire le journal des événements, alors vous pouvez exécuter a script that I wrote.

+0

Peut-être que vous pourriez coller votre code car ce n'est pas trop grand. Si le lien se casse un jour, votre réponse sera toujours valide. – ForceMagic

Questions connexes