【发布时间】:2018-05-13 19:55:22
【问题描述】:
我正在编写一个程序,我需要从性能计数器中获取一些值。
到目前为止,它运行良好。但是,当我尝试获取特定 IIS 站点的“请求/秒”计数器时,我没有得到任何值,比如它根本没有更新。 但是如果我在我的 Windows 计算机上检查“性能监视器”,我可以看到相同的计数器工作。
这个程序有管理员权限。
获取此计数器的代码的 sn-p 如下所示。
public static int GetRequest()
{
var cat = PerformanceCounterCategory.GetCategories().FirstOrDefault(s => s.CategoryName.Contains("ASP.NET Apps v4.0.30319"));
var catinstances = cat.GetInstanceNames().First(s => s.Contains("_lm_w3svc_3_root").ToUpper()));
PerformanceCounter cpuCounter = new PerformanceCounter("ASP.NET Apps v4.0.30319", "Requests/Sec", catinstances, true);
return unchecked((int)cpuCounter.NextValue());
}
感谢您的宝贵时间。
【问题讨论】:
-
cpuCounter 应该是静态属性
标签: c# asp.net iis-7 performancecounter