/ / Nie można znaleźć licznika wydajności z określoną nazwą kategorii "Interfejs sieciowy", - c #

Nie można znaleźć licznika wydajności z określoną nazwą kategorii "Interfejs sieciowy", - c #

Cześć Próbuję przechodzić przez wszystkieLiczniki wydajności w C # w "Network Category" / "" Bytes Total / sec ", a następnie uzyskać NextValue na każdym raz z nazw instancji, ale dostaję błąd, że nazwa Instance nie zostanie znaleziony. Co robię jest następujące: Najpierw używam następującego kodu, aby utworzyć wszystkie liczniki wydajności w określonej kategorii, a dla każdej nazwy instancji tworzę inny licznik wydajności:

NetworkPerformanceCounterArray = new PerformanceCounter[NetowrkInstanceNames.Length];
foreach (var instance in NetowrkInstanceNames)
{
Console.WriteLine(instance);
NetworkPerformanceCounterArray[tmpind] = new PerformanceCounter();
NetworkPerformanceCounterArray[tmpind].CategoryName = "Network Interface";
NetworkPerformanceCounterArray[tmpind].CounterName = "Bytes Total/sec";
NetworkPerformanceCounterArray[tmpind].CounterName = instance;
tmpind++;
}

Ale kiedy używam liniiNetworkPerformanceCounterArray [i] .NextValue (), aby uzyskać następną wartość (dla dowolnej instancji) Otrzymuję wyjątek (np. Nie można znaleźć licznika wydajności o określonej nazwie kategorii "Interfejs sieciowy", nazwa licznika "Atheros AR8121_AR8113_AR8114 Kontroler Ethernet PCI-E ").

Dziwne jest to, że nazwy instancji sąpoprawny. Na przykład, jeśli utworzę tylko jeden licznik wydajności dla "Atheros AR8121_AR8113_AR8114 PCI-E Ethernet Controller", kodując nazwę, która działa dobrze. Dziwne jest to, że nazwa instancji "Atheros AR8121_AR8113_AR8114 PCI-E Ethernet Controller" jest dokładnie taka sama w obu przypadkach, użyłem pasty do kopiowania i podwójnego sprawdzenia za każdym razem.

Czy ktoś może wyjaśnić rzeczy?

Odpowiedzi:

0 dla odpowiedzi № 1

Oooo. Właśnie zauważyłem

NetworkPerformanceCounterArray[tmpind].CounterName = "Bytes Total/sec";
NetworkPerformanceCounterArray[tmpind].CounterName = instance;

używasz tego samego elementu (CounterName) dwa razy. Sądzę, że druga linia powinna użyć InstanceName zamiast.