2

对于以下代码,我得到

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

4 回答 4

12

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

于 2012-11-12T09:44:55.543 回答
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.");
于 2011-01-24T18:50:08.310 回答
0

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

我用我网络上存在的机器名称测试了您的代码,它工作正常。

于 2011-01-24T18:48:37.673 回答
0

您使用的 MachineName 值很可能不是可以在网络上找到的机器。我将从那开始并验证您是否能够连接到它。

于 2011-01-24T18:48:53.843 回答