Vpn上的性能监视器

时间:2012-10-07 07:15:25

标签: c# windows networking

我正在使用我的C#项目中的Windows性能监视器类来测量通过网卡的字节数量等,一切似乎都很好。我使用网络索引号来确定用于记录性能数据的网络接口。我可以通过命令提示符(netsh int ipv4 show int)

查看网络索引号

但是,我已连接到vpn并更改了网络索引号以引用vpn,当我尝试读取性能监视器“nextValue()”时,我得到一个例外。

所以我的问题是,我可以使用“System.Diagnostic.PerformanceCounters”从VPN发送数据包等,还是有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:2)

尝试使用powershell性能计数器,它们有很多功能...

可以在此处找到power shell命令(import-counter)的指南..

http://ss64.com/ps/

我在下面添加了一些示例代码,供您查看它们的调用方式:

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.
祝你好运 马修