PerformanceCounterCategory.Exists Metodo

Definizione

Determina se la categoria è registrata nel sistema.

Overload

Nome Descrizione
Exists(String)

Determina se la categoria è registrata nel computer locale.

Exists(String, String)

Determina se la categoria è registrata nel computer specificato.

Exists(String)

Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs

Determina se la categoria è registrata nel computer locale.

public:
 static bool Exists(System::String ^ categoryName);
public static bool Exists(string categoryName);
static member Exists : string -> bool
Public Shared Function Exists (categoryName As String) As Boolean

Parametri

categoryName
String

Nome della categoria del contatore delle prestazioni da cercare.

Valori restituiti

true se la categoria è registrata; in caso contrario, false.

Eccezioni

Il categoryName parametro è null.

Il categoryName parametro è una stringa vuota ("").

Chiamata a un'API di sistema sottostante non riuscita.

Codice in esecuzione senza privilegi amministrativi che ha tentato di leggere un contatore delle prestazioni.

Esempio

Nell'esempio di codice seguente viene determinato se esiste un PerformanceCounterCategory oggetto denominato "orders". In caso contrario, crea l'oggetto PerformanceCounterCategory utilizzando un CounterCreationDataCollection oggetto contenente due contatori delle prestazioni.

if (!PerformanceCounterCategory.Exists("Orders"))
{
    CounterCreationData milk = new CounterCreationData();
    milk.CounterName = "milk";
    milk.CounterType = PerformanceCounterType.NumberOfItems32;

    CounterCreationData milkPerSecond = new CounterCreationData();
    milkPerSecond.CounterName = "milk orders/second";
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32;

    CounterCreationDataCollection ccds = new CounterCreationDataCollection();
    ccds.Add(milkPerSecond);
    ccds.Add(milk);

    PerformanceCounterCategory.Create("Orders", "Number of processed orders",
        PerformanceCounterCategoryType.SingleInstance, ccds);
}
If Not PerformanceCounterCategory.Exists("Orders") Then        
    Dim milk As New CounterCreationData()
    milk.CounterName = "milk"
    milk.CounterType = PerformanceCounterType.NumberOfItems32
    
    Dim milkPerSecond As New CounterCreationData()
    milkPerSecond.CounterName = "milk orders/second"
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32
    
    Dim ccds As New CounterCreationDataCollection()
    ccds.Add(milkPerSecond)
    ccds.Add(milk)
    
    PerformanceCounterCategory.Create("Orders", "Number of processed orders", _
           PerformanceCounterCategoryType.SingleInstance, ccds)
End If

Commenti

L'uso del Exists metodo può comportare una notevole riduzione delle prestazioni, mentre tutti i contatori delle prestazioni nel computer vengono controllati per la disponibilità. Se si scrive solo in un contatore delle prestazioni, è possibile evitare la ricerca globale di contatori delle prestazioni creando il contatore delle prestazioni quando l'applicazione viene installata e presupponendo che la categoria esista quando si accede al contatore. Non è possibile evitare la ricerca del contatore delle prestazioni durante la lettura dai contatori delle prestazioni.

Note

Per leggere i contatori delle prestazioni da una sessione di accesso non interattiva in Windows Vista e versioni successive, Windows XP Professional x64 Edition o Windows Server 2003, è necessario essere membri del gruppo Monitor prestazioni Users o disporre di privilegi amministrativi.

Per evitare di dover elevare i privilegi per accedere ai contatori delle prestazioni in Windows Vista e versioni successive, aggiungere se stessi al gruppo Utenti di Monitor prestazioni.

In Windows Vista e versioni successive, Controllo account utente determina i privilegi di un utente. Se si è membri del gruppo Administrators predefinito, vengono assegnati due token di accesso in fase di esecuzione: un token di accesso utente standard e un token di accesso amministratore. Per impostazione predefinita, si è nel ruolo utente standard. Per eseguire il codice che accede ai contatori delle prestazioni, è necessario innanzitutto elevare i privilegi dall'utente standard all'amministratore. A tale scopo, è possibile avviare un'applicazione facendo clic con il pulsante destro del mouse sull'icona dell'applicazione e indicando che si vuole eseguire come amministratore.

Vedi anche

Si applica a

Exists(String, String)

Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs
Origine:
PerformanceCounterCategory.cs

Determina se la categoria è registrata nel computer specificato.

public:
 static bool Exists(System::String ^ categoryName, System::String ^ machineName);
public static bool Exists(string categoryName, string machineName);
static member Exists : string * string -> bool
Public Shared Function Exists (categoryName As String, machineName As String) As Boolean

Parametri

categoryName
String

Nome della categoria del contatore delle prestazioni da cercare.

machineName
String

Nome del computer da esaminare per la categoria.

Valori restituiti

true se la categoria è registrata; in caso contrario, false.

Eccezioni

Il categoryName parametro è null.

Il categoryName parametro è una stringa vuota ("").

oppure

Il parametro machineName non è valido.

Chiamata a un'API di sistema sottostante non riuscita.

Impossibile trovare il percorso di rete.

Il chiamante non dispone dell'autorizzazione richiesta.

oppure

Codice in esecuzione senza privilegi amministrativi che ha tentato di leggere un contatore delle prestazioni.

Esempio

Nell'esempio seguente viene determinato se esiste un PerformanceCounterCategory oggetto denominato Orders . Se non esiste, l'esempio crea l'oggetto PerformanceCounterCategory utilizzando un CounterCreationDataCollection oggetto contenente due contatori delle prestazioni.

if (!PerformanceCounterCategory.Exists("Orders"))
{
    CounterCreationData milk = new CounterCreationData();
    milk.CounterName = "milk";
    milk.CounterType = PerformanceCounterType.NumberOfItems32;

    CounterCreationData milkPerSecond = new CounterCreationData();
    milkPerSecond.CounterName = "milk orders/second";
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32;

    CounterCreationDataCollection ccds = new CounterCreationDataCollection();
    ccds.Add(milkPerSecond);
    ccds.Add(milk);

    PerformanceCounterCategory.Create("Orders", "Number of processed orders",
        PerformanceCounterCategoryType.SingleInstance, ccds);
}
If Not PerformanceCounterCategory.Exists("Orders") Then        
    Dim milk As New CounterCreationData()
    milk.CounterName = "milk"
    milk.CounterType = PerformanceCounterType.NumberOfItems32
    
    Dim milkPerSecond As New CounterCreationData()
    milkPerSecond.CounterName = "milk orders/second"
    milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32
    
    Dim ccds As New CounterCreationDataCollection()
    ccds.Add(milkPerSecond)
    ccds.Add(milk)
    
    PerformanceCounterCategory.Create("Orders", "Number of processed orders", _
           PerformanceCounterCategoryType.SingleInstance, ccds)
End If

Commenti

L'uso del Exists metodo può comportare una notevole riduzione delle prestazioni, mentre tutti i contatori delle prestazioni nel computer vengono controllati per la disponibilità. Se si scrive solo in un contatore delle prestazioni, è possibile evitare la ricerca globale di contatori delle prestazioni creando il contatore delle prestazioni quando l'applicazione viene installata e presupponendo che la categoria esista quando si accede al contatore. Non è possibile evitare la ricerca del contatore delle prestazioni durante la lettura dai contatori delle prestazioni.

Note

Per leggere i contatori delle prestazioni da una sessione di accesso non interattiva in Windows Vista e versioni successive, Windows XP Professional x64 Edition o Windows Server 2003, è necessario essere membri del gruppo Monitor prestazioni Users o disporre di privilegi amministrativi.

Per evitare di dover elevare i privilegi per accedere ai contatori delle prestazioni in Windows Vista e versioni successive, aggiungere se stessi al gruppo Utenti di Monitor prestazioni.

In Windows Vista e versioni successive, Controllo account utente determina i privilegi di un utente. Se si è membri del gruppo Administrators predefinito, vengono assegnati due token di accesso in fase di esecuzione: un token di accesso utente standard e un token di accesso amministratore. Per impostazione predefinita, si è nel ruolo utente standard. Per eseguire il codice che accede ai contatori delle prestazioni, è necessario innanzitutto elevare i privilegi dall'utente standard all'amministratore. A tale scopo, è possibile avviare un'applicazione facendo clic con il pulsante destro del mouse sull'icona dell'applicazione e indicando che si vuole eseguire come amministratore.

Vedi anche

Si applica a