2010-08-17 14 views
2

J'utilise NLog dans mon application ASP.NET hébergée sur le serveur IIS et Windows 2003. Lorsque je lance le code sur ma machine de développement, tout est OK. Mais quand j'ai déployé le code sur le serveur. L'initialisation de la cible NLog entraînera une exception de sécurité:Exceptions de sécurité lors de l'initialisation de la cible du journal des événements Nlog

Security Exception Description: L'application a tenté d'effectuer une opération non autorisée par la stratégie de sécurité. Pour accorder à cette application l'autorisation requise, contactez votre administrateur système ou modifiez le niveau de confiance de l'application dans le fichier de configuration.

Exception Details: System.Security.SecurityException: Requested registry access is not allowed. 

Erreur Source:

Une exception non gérée a été générée pendant l'exécution de la demande Web actuelle. Les informations concernant l'origine et l'emplacement de l'exception peuvent être identifiées à l'aide de la trace de la pile d'exceptions ci-dessous.

Stack Trace:

[SecurityException: Requested registry access is not allowed.]
System.ThrowHelper.ThrowSecurityException(ExceptionResource resource) +51
Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable) +7462217
System.Diagnostics.EventLog.CreateEventSource(EventSourceCreationData sourceData) +366
NLog.Targets.EventLogTarget.CreateEventSourceIfNeeded() +637 NLog.Targets.EventLogTarget.InitializeTarget() +40 NLog.Targets.Target.Initialize() +264 NLog.Config.LoggingConfiguration.InitializeAll() +233

Est-ce que quelqu'un quand que dois-je faire pour donner la bonne application permission? Merci!

+0

Est-ce que quelqu'un a le même problème? – Roy

Répondre

2

D'accord, j'ai compris. Le compte de service réseau n'a pas l'autorisation de lire/écrire le journal des événements. C'est pourquoi l'exception est levée.

0

J'ai couru mon application une fois en tant qu'administrateur pour créer les règles appropriées dans le EventLog.