Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad InstanceDataCollectionCollection.Item (String)

 

Publicado: octubre de 2016

Obtiene los datos de instancia para el contador especificado.

Espacio de nombres:   System.Diagnostics
Ensamblado:  System (en System.dll)

public InstanceDataCollection this[
	string counterName
] { get; }

Parámetros

counterName
Type: System.String

El nombre del contador de rendimiento.

Valor de propiedad

Type: System.Diagnostics.InstanceDataCollection

Un InstanceDataCollection elemento por el cual el InstanceDataCollectionCollection se indiza el objeto.

Exception Condition
ArgumentNullException

El parámetro counterName es null.

El counterName parámetro distingue mayúsculas de minúsculas.

Cada InstanceDataCollection objeto de la colección contiene los datos de rendimiento para todos los contadores de una instancia. Los datos se indizan por nombre de contador y, a continuación, por nombre de instancia. El indizador usa el counterName parámetro para recorrer los contadores asociados a esta colección de datos de instancia.

En el ejemplo de código siguiente se acepta un PerformanceCounter nombre de categoría y el nombre de contador de la línea de comandos. Obtiene el InstanceDataCollectionCollection para el PerformanceCounterCategory. A continuación, si la PerformanceCounter existe, el ejemplo utiliza el Item propiedad (hace referenciado como indizador) para obtener asociado InstanceDataCollection y muestra los nombres de instancia de la colección.

public static void Main(string[] args)
{
    // The following values can be used as arguments.
    string categoryName = "Process";
    string counterName = "Private Bytes";

    InstanceDataCollectionCollection idColCol;

    // Copy the supplied arguments into the local variables.
    try
    {
        categoryName = args[0];
        counterName = args[1];
    }
    catch
    {
        // Ignore the exception from non-supplied arguments.
    }

    try
    {
        // Get the InstanceDataCollectionCollection for this category.
        PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);
        idColCol = pcc.ReadCategory();
    }
    catch(Exception ex)
    {
        Console.WriteLine("An error occurred getting the InstanceDataCollection for " +
            "category \"{0}\"."+ "\n" +ex.Message, categoryName);
        return;
    }

    // Check if this counter name exists using the Contains
    // method of the InstanceDataCollectionCollection.
    if (!idColCol.Contains(counterName))
    {
        Console.WriteLine("Counter \"{0}\" does not exist in category \"{1}\".", counterName, categoryName);
        return;
    }
    else
    {
        // Now get the counter's InstanceDataCollection object using the
        // indexer (Item property) for the InstanceDataCollectionCollection.
        InstanceDataCollection countData = idColCol[counterName];

        ICollection idColKeys = countData.Keys;
        string[] idColKeysArray = new string[idColKeys.Count];
        idColKeys.CopyTo(idColKeysArray, 0);

        Console.WriteLine("Counter \"{0}\" of category \"{1}\" " +
            "has {2} instances.", counterName, categoryName, idColKeys.Count);

        // Display the instance names for this counter.
        int index;
        for(index=0; index<idColKeysArray.Length; index++)
        {
            Console.WriteLine("{0,4} -- {1}", index+1, idColKeysArray[index]);
        }
    }
}

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: