HOW TO:判斷計數器和分類是否存在
更新:2007 年 11 月
您可以使用 PerformanceCounterCategory 類別中的 CounterExists 方法,來判斷在本機或遠端電腦上之特定分類內是否有指定的效能計數器。您可以在建立新的計數器前執行此動作,以免因相同名稱的其他計數器存在而引發錯誤。
除了判斷計數器是否存在外,您還可以使用 PerformanceCounterCategory 類別的 Exists 方法,來判斷指定的分類是否存在。如果您正要建立自訂計數器而且想要判斷此分類是否已存在時,可以執行此動作。如果您所指定的分類已建立,Create 方法將引發錯誤。
如果找到項目,則 Exists 和 CounterExists 方法兩者都會傳回 true,如果找不到則傳回 false。
若要判斷計數器是否存在
呼叫 PerformanceCounterCategory 類別的 Exists 方法,指定下列參數。
參數
值
CounterName
您希望查詢的計數器名稱。
CategoryName
伺服器中的任何效能物件的分類。
MachineName
放置分類和計數器的伺服器。
注意事項: 在 Visual Basic 中,MachineName 參數是選擇性項目,如果將其留為空白,則此參數預設會使用本機電腦。在 C# 中,如果您不想指定電腦名稱,可以使用 Exists 方法的多載。
若要判斷分類是否存在
呼叫 PerformanceCounterCategory 類別的 Exists 方法,指定下列參數。
參數
值
CategoryName
您想要查詢的任何分類。
MachineName
放置分類的伺服器。
下列範例會顯示如何在建立分類和計數器前,使用 If 陳述式來判斷分類是否已存在:
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"); }