asp.net - "Access to the registry key ' 访问性能计数器时全局 ' is denied"

标签 asp.net iis iis-7.5 performancecounter

我正在尝试从 ASP.NET 应用程序读取一些性能计数器。当我这样做时,我收到错误“访问注册表项‘全局’被拒绝。”

我已尝试按照说明 here 进行操作和 here ,使用用户 IIS AppPool\DefaultAppPool,这是我的应用程序池配置使用的身份:

Screenshot of App Pool configuration

我已将该用户添加到性能监视器用户组:

enter image description here

添加用户后,我重新启动了计算机。但我仍然收到错误。

我还尝试将用户 IUSR 和 NETWORK SERVICE 添加到性能监视器用户组,但这些也不起作用。出于无奈,我尝试将用户“Everyone”添加到性能监视器用户组中,这确实有效。但我的目标是记录生产中应用程序的统计信息,并且我不想将“Everyone”添加到生产服务器上的该组中。

为了读取性能计数器而不生成安全异常,还需要做什么?

最佳答案

我找到了解决方案。虽然 Internet 上的各种链接告诉您使用身份 IIS APPPOOL\DefaultAppPool,但这并不是完整的故事。仅当您实际上将应用程序分配到名为“DefaultAppPool”的应用程序池时,这才有效。

This link at ServerFault有答案了。您必须使用应用程序池的名称。就我而言,应用程序池的名称是“staging”,因此正确的用户是IIS APPPOOL\staging。将此用户放入性能监视器用户组解决了我的问题。

关于asp.net - "Access to the registry key ' 访问性能计数器时全局 ' is denied",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17301640/

相关文章:

c# - 集成 Windows 身份验证破坏了 File.Exists

asp.net - 错误 : "Access to the path <path> is denied." 的问题

c# - iTextSharp : The process cannot access the file. 文件流似乎已关闭

c# - 通过代码隐藏将 CANONICAL 标签添加到我的页面以进行 SEO?

asp.net - 抓取由 asp.net/AJAX (__doPostBack) 管理的 html 分页

asp.net - 标题的背景图像不起作用

c# - 将 SelectedIndexChanged 添加到生成的复选框列表

c# - Windows Azure - 在 Windows Azure IIS 存储中提供未知 (mp4) MIME 类型

c# - 存在 ExitCode 255 的进程

powershell - IIS7.5 PowerShell preloadEnabled