【发布时间】:2011-10-20 10:23:34
【问题描述】:
我正面临一些可能对谁感兴趣的关键问题,那些正在玩 window azure sdk 的人。我在 EXE 上创建了从系统读取性能计数器数据,如 CPU、内存、asp.net 会话,如
queryCollection = ExecuteWMIQuery("SELECT * FROM win32_perfformatteddata_perfdisk_physicaldisk");
我已经在我上传到 Azure 窗口的简单 asp.net 应用程序的启动任务中添加了这个 EXE。现在,当我连接到其中的 RDP 时,我可以在我的事件日志中看到以下错误,如下所示。
已禁用从 “ASP.NET_64_2.0.50727”服务因为性能计数器库 因为该服务产生了一个或多个错误。那些错误 强制此操作已写入应用程序事件日志。 在为此启用性能计数器之前更正错误 服务。
================================================ ========================
Windows 无法打开 64 位可扩展计数器 DLL 32 位环境中的 ASP.NET_64_2.0.50727。联系文件供应商 获取 32 位版本。或者,如果您正在运行 64 位 本机环境,您可以通过以下方式打开 64 位可扩展计数器 DLL 使用 64 位版本的性能监视器。要使用此工具, 打开 Windows 文件夹,打开 System32 文件夹,然后启动 Perfmon.exe。
所以我在想我的 EXE 试图获取 32 位的性能计数器(win32 表明这一点)并且会记录以上错误。
所以这里的任何人都遇到过这种类型的问题,如果我的猜测是正确的,那么有没有办法实现我的 EXE 逻辑,使其可以在任何环境(32 位或 64 位)中顺利运行?
希望这仍然是一个有趣的问题!!!
提前致谢 阿伦。
【问题讨论】:
-
我只是想知道您是否有任何理由不使用 Azure 诊断而不是尝试实现自己的诊断? msdn.microsoft.com/en-us/library/windowsazure/gg433048.aspx
-
@Igne Henriksen ,是的,我已经阅读过相关内容,但是这不可能(我自己的逻辑)?我只是第一次在事件日志中收到错误,并且在 90% 的情况下还获得了性能计数器数据。
标签: azure console-application performancecounter