Enterprise Library June 2005 Instrumentation Issue

I started getting the following error in one of the site that I am recently installing ( win 2000,.Net 1.1)

Access to performance data was denied to ASPNET as attempted from C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_wp.exe Access to performance data was denied to ASPNET as attempted from C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_wp.exe

System.TypeInitializationException: The type initializer for "Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataConnectionFailedEvent" threw an exception. ---> System.Security.SecurityException: Requested registry access is not allowed.    at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)    at System.Diagnostics.EventLog.CreateEventSource(String source, String logName, String machineName, Boolean useMutex)    at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)    at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category)    at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID)    at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type)    at Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.ReportCounterFailure(String message)    at Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances..ctor(String categoryName, String counterName, Boolean createNewInstance)    at Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.AddPerformanceCounter(String category, String[] counterNames, Boolean createNewInstance)    at Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.Initialize(String counterCategory, String[] counterNames, Boolean createNewInstance, String eventLogSource, EventLogIdentifier[] eventIds)    at Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent..ctor(String counterCategory, String[] counterNames, Boolean createNewInstance, String eventLogSource, EventLogIdentifier[] eventIds)    at Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataServiceEvent..ctor(String[] counterNames, EventLogIdentifier[] eventLogIds)    at Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataConnectionFailedEvent..ctor(String[] counterNames, EventLogIdentifier[] eventLogIDs)    at Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataConnectionFailedEvent..cctor    --- End of inner exception stack trace ---    at Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataConnectionFailedEvent.Fire(String connectionString)    at Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataInstrumentationFacade.ConnectionFailed(String connectionString)    at Microsoft.Practices.EnterpriseLibrary.Data.Database.OpenConnection    at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteReader(DBCommandWrapper command)    at Abn.DataAccessLayer.SqlClient.SqlCancerTypeProviderBase.GetAll(TransactionManager transactionManager, Int32 start, Int32 pageLength)    at Abn.DataAccessLayer.Bases.CancerTypeProviderBase.GetAll    at Abn.Facade.AbnOncologyFacade.GetAllCancerType    at AbnWebApplication.OncologySearchPage.LoadCancerType    at AbnWebApplication.OncologySearchPage.Page_Load(Object sender, EventArgs e)    at System.EventHandler.Invoke(Object sender, EventArgs e)    at System.Web.UI.Control.OnLoad(EventArgs e)    at System.Web.UI.Control.LoadRecursive    at System.Web.UI.Page.ProcessRequestMain

After doing some googling found couple of direction to solve the problem. Thought I should post all the link for future reference.

http://blogs.msdn.com/tomholl/archive/2005/02/18/376187.aspx

http://www.thescripts.com/forum/thread376376.html http://objectsharp.com/blogs/bruce/archive/2003/12/05/222.aspx http://support.microsoft.com/default.aspx?scid=kb;en-us;329291

This was giving a hard time even after assigning permission to the registry and following most the resolutions suggested in the above links etc. But at the end rebooting the server probably did the trick and things started working as expected.

This article is part of the GWB Archives. Original Author: Shahed Khan

New on Geeks with Blogs

  • We Won The One Award I Actually Care About

    Full Scale made the Inc. 5000 for the fifth year straight, the 12th listing across my three companies. Here is why the one award you cannot buy is worth stopping for.

  • Your Customers Build the Features Now

    I let a tool I liked sit dead for a year rather than build the features I wanted. An MCP server meant I never had to, and your customers can do the same to your product.

  • Get the Size of a Directory in Linux the Easy Way

    du -sh for the quick answer, ncdu for the cleanup, df for the disk itself: every command for checking directory size in Linux, plus why du and df never agree.

  • Vim Search and Replace: The Ultimate Guide

    One :%s command replaces every match in a file before a find dialog would even open. The Vim substitute patterns worth the muscle memory: flags, ranges, capture groups, and multi-file edits.