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 InstanceDataCollection.Item (String)

 

Publicado: octubre de 2016

Obtiene los datos de instancia asociados a este contador. Por lo general, suele ser un conjunto de valores de contador sin formato.

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

public InstanceData this[
	string instanceName
] { get; }

Parámetros

instanceName
Type: System.String

El nombre de la instancia de categoría del contador de rendimiento o una cadena vacía ("") si la categoría contiene una sola instancia.

Valor de propiedad

Type: System.Diagnostics.InstanceData

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

Exception Condition
ArgumentNullException

El parámetro instanceName es null.

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

En el ejemplo de código siguiente se acepta un PerformanceCounter nombre de categoría, el nombre de contador y el nombre de instancia desde la línea de comandos. Obtiene el InstanceDataCollectionCollection para la categoría, que es una colección de InstanceDataCollection objetos. De esa colección obtiene determinada InstanceDataCollection para el contador especificado. A continuación, si existe una instancia, el ejemplo utiliza el Item propiedad (hace referenciado como indizador) para obtener asociado InstanceData objeto.

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

    InstanceDataCollection idCol;
    const string SINGLE_INSTANCE_NAME = "systemdiagnosticsperfcounterlibsingleinstance";

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

    try
    {
        // Get the InstanceDataCollectionCollection for this category.
        PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);
        InstanceDataCollectionCollection idColCol = pcc.ReadCategory();

        // Get the InstanceDataCollection for this counter.
        idCol = idColCol[counterName];
        if (idCol==null)
        {
            throw new Exception("Counter does not exist.");
        }
    }
    catch(Exception ex)
    {
        Console.WriteLine("An error occurred getting the InstanceDataCollection for " +
            "category \"{0}\", counter \"{1}\"." +  "\n" + ex.Message, categoryName, counterName);
        return;
    }

    // If the instance name is empty, use the single-instance name.
    if (instanceName.Length==0)
    {
        instanceName = SINGLE_INSTANCE_NAME;
    }

    // Check if this instance name exists using the Contains
    // method of the InstanceDataCollection.
    if (!idCol.Contains(instanceName))
    {
        Console.WriteLine("Instance \"{0}\" does not exist in counter \"{1}\", " +
            "category \"{2}\".", instanceName, counterName, categoryName);
        return;
    }
    else
    {
        // The instance name exists, now get its InstanceData object
        // using the indexer (Item property) for the InstanceDataCollection.
        InstanceData instData = idCol[instanceName];

        Console.WriteLine("CategoryName: {0}", categoryName);
        Console.WriteLine("CounterName:  {0}", counterName);
        Console.WriteLine("InstanceName: {0}", instData.InstanceName);
        Console.WriteLine("RawValue:     {0}", instData.RawValue);
    }
}

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: