Gewusst wie: Bestimmen, ob Leistungsindikatoren und Kategorien vorhanden sind
Aktualisiert: November 2007
Mithilfe der CounterExists-Methode der PerformanceCounterCategory-Klasse können Sie ermitteln, ob ein bestimmter Leistungsindikator in einer speziellen Kategorie auf dem lokalen Computer oder einem Remotecomputer vorhanden ist. Dadurch vermeiden Sie vor dem Erstellen eines neuen Leistungsindikators, dass Fehler durch doppelt vergebene Leistungsindikatornamen verursacht werden.
Neben vorhandenen Leistungsindikatoren können Sie mit der Exists-Methode der PerformanceCounterCategory-Klasse auch bestimmte Kategorien ermitteln. Dies empfiehlt sich, wenn Sie einen benutzerdefinierten Leistungsindikator erstellen und feststellen möchten, ob die zugehörige Kategorie bereits besteht. Die Create-Methode löst eine Fehlermeldung aus, wenn die angegebene Kategorie bereits vorhanden ist.
Sowohl die Exists-Methode als auch die CounterExists-Methode gibt true zurück, wenn das Element gefunden wird, und false, wenn es nicht gefunden wird.
So ermitteln Sie, ob ein Leistungsindikator vorhanden ist
Rufen Sie die Exists-Methode der PerformanceCounterCategory-Klasse auf, und geben Sie folgende Parameter an:
Parameter
Wert
CounterName
Der Name des abzufragenden Leistungsindikators.
CategoryName
Jede auf dem Server vorhandene Leistungsobjektkategorie.
MachineName
Der Server, auf dem Kategorie und Leistungsindikator ermittelt werden sollen.
Hinweis: In Visual Basic ist der MachineName-Parameter optional. Wenn er leer gelassen wird, wird standardmäßig der lokale Computer verwendet. In C# können Sie eine Überladung der Exists-Methode einsetzen, wenn Sie den Computernamen nicht angeben möchten.
So ermitteln Sie, ob eine Kategorie vorhanden ist
Rufen Sie die Exists-Methode der PerformanceCounterCategory-Klasse auf, und geben Sie folgende Parameter an:
Parameter
Wert
CategoryName
Die abzufragenden Kategorien.
MachineName
Der Server, auf dem die Kategorie ermittelt werden soll.
Im folgenden Beispiel wird veranschaulicht, wie vor dem Erstellen einer Kategorie und eines Leistungsindikators mit der If-Anweisung ermittelt wird, ob die Kategorie bereits vorhanden ist:
If Not (PerformanceCounterCategory.Exists("MyCat")) Then PerformanceCounterCategory.Create( _ "MyCat", "Description", _ PerformanceCounterCategoryType.SingleInstance, _ "MyCounter", "Description") End If
if (!System.Diagnostics.PerformanceCounterCategory.Exists("MyCat")) { System.Diagnostics.PerformanceCounterCategory.Create( "MyCat", "Description", PerformanceCounterCategoryType.SingleInstance, "MyCounter", "Description"); }
Siehe auch
Aufgaben
Gewusst wie: Schreiben von Werten in Leistungsindikatoren