PerformanceCounter抛出异常

时间:2012-03-06 13:41:18

标签: c# performancecounter

我必须使用某种技术获得System Up时间。 StackOverflow中有人建议我使用性能计数器来获取TimeSpan中的系统运行时间。

            try
            {
                var uptime = new PerformanceCounter("System", "System Up Time");
                uptime.NextValue();
                return TimeSpan.FromSeconds(uptime.NextValue());
            }
            catch (Exception)
            {

            }

它在我的电脑上完美运行没有任何问题。但问题发生在我朋友的电脑上。在他的电脑上,运行以下行时抛出异常。

var uptime = new PerformanceCounter("System", "System Up Time");

例外是"Input String was not in Correct format"

1 个答案:

答案 0 :(得分:1)

PerformanceCounter的行为可能会有所不同,具体取决于权限等。 - 有关此问题的一些信息,请参阅MSDN

另一点是,在Windows XP中,如果未配置分页文件,则某些性能计数器不可用(有关详细信息,请参阅http://support.microsoft.com/kb/884558/en-us)。

不相关的东西:

“吞咽”异常就像使用空catch块一样,这是不好的做法!