我正在使用我的C#项目中的Windows性能监视器类来测量通过网卡的字节数量等,一切似乎都很好。我使用网络索引号来确定用于记录性能数据的网络接口。我可以通过命令提示符(netsh int ipv4 show int)
查看网络索引号但是,我已连接到vpn并更改了网络索引号以引用vpn,当我尝试读取性能监视器“nextValue()”时,我得到一个例外。
所以我的问题是,我可以使用“System.Diagnostic.PerformanceCounters”从VPN发送数据包等,还是有其他方法可以做到这一点?
答案 0 :(得分:2)
尝试使用powershell性能计数器,它们有很多功能...
可以在此处找到power shell命令(import-counter)的指南..
我在下面添加了一些示例代码,供您查看它们的调用方式:
private static void LoadBLG(string CounterPath)
{
PowerShell ps = PowerShell.Create();
ps.AddCommand("import-counter");
ps.AddArgument(CounterPath);
Console.WriteLine(CounterPath);
Console.WriteLine("------------------------");
foreach (PSObject result in ps.Invoke())
{
if (result.ImmediateBaseObject is PerformanceCounterSampleSet)
{
PerformanceCounterSampleSet Counters = result.ImmediateBaseObject as PerformanceCounterSampleSet;
foreach (PerformanceCounterSample sample in Counters.CounterSamples)
Console.WriteLine("{0,-20}{1}",
sample.Path, sample.RawValue);
}
} // End foreach.
祝你好运
马修