计算服务器正常运行时间会显示“找不到网络路径”

时间:2011-01-24 18:36:03

标签: c# system.diagnostics health-monitoring

对于以下代码,我正在

  

System.ComponentModel.Win32Exception:找不到网络路径

有人可以帮忙吗?

PerformanceCounter pc = new PerformanceCounter("System",
        "System Up Time");
                pc.MachineName = "1.2.3.4";

                //Normally starts with zero. do Next Value always.
                pc.NextValue();
                TimeSpan ts = TimeSpan.FromSeconds(pc.NextValue());

                Response.Write("This system 1.2.3.4 has been up for " + ts.Days + " days " + ts.Hours + " hours, " + ts.Minutes + " and " + ts.Seconds +" seconds.");

编辑: 我试过机器名,我仍然得到同样的错误! 注意:1.2.3.4是一个样本值。

4 个答案:

答案 0 :(得分:12)

如果未在远程计算机1上启动远程注册表服务,则可能导致此错误。

答案 1 :(得分:2)

取消注释pc.NextValue(),代码可以运行。通过提供错误的机器名称或IP地址可以重现该问题。所以你的IP很糟糕。

var machineNameOrIP = "10.16.7.1";
var pc = new PerformanceCounter("System", "System Up Time");
pc.MachineName = machineNameOrIP;
//Normally starts with zero. do Next Value always.
pc.NextValue();//uncomment this
var ts = TimeSpan.FromSeconds(pc.NextValue());
Response.Write("This system " + pc.MachineName + " has been up for " + ts.Days + " days " + ts.Hours + " hours, " + ts.Minutes + " and " + ts.Seconds +" seconds.");

答案 2 :(得分:0)

MachineName“1.2.3.4”不存在,或者无法在网络上访问。

我使用网络上存在的计算机名称测试了您的代码,它运行正常。

答案 3 :(得分:0)

您使用的MachineName值很可能不是可在网络上找到的计算机。我会从那开始,并确认您能够连接到它。