Esta documentación está archivada y no tiene mantenimiento.

PerformanceCounter.IncrementBy (Método)

Actualización: noviembre 2007

Aumenta o reduce el valor del contador de rendimiento asociado en la cantidad especificada mediante una operación atómica eficaz.

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

public long IncrementBy(
	long value
)
public long IncrementBy(
	long value
)
public function IncrementBy(
	value : long
) : long

Parámetros

value
Tipo: System.Int64
Valor que se debe aumentar. (Un valor negativo reduce el contador.)

Valor devuelto

Tipo: System.Int64
Nuevo valor del contador.

ExcepciónCondición
InvalidOperationException

El contador es de sólo lectura, por lo que la aplicación no puede aumentarlo.

O bien

La instancia no está correctamente asociada a un contador de rendimiento.

O bien,

La propiedad InstanceLifetime se ha establecido en Process pero se está utilizando la memoria compartida global.

Win32Exception

Error al obtener acceso a una API del sistema.

PlatformNotSupportedException

La plataforma es Windows 98 o Windows Millennium Edition (Me), que no admiten contadores de rendimiento.

Sólo se puede escribir en los contadores personalizados. Todos los contadores del sistema son de sólo lectura.

3t3h7ee5.alert_note(es-es,VS.90).gifNota:

Los métodos Increment, IncrementBy y Decrement utilizan interbloqueos para actualizar el valor de contador. Esto ayuda a mantener la precisión del valor de contador en los escenarios multiproceso, pero también produce una reducción del rendimiento. Si no necesita la precisión que proporcionan las operaciones interbloqueadas, puede actualizar la propiedad RawValue directamente y conseguir que el rendimiento mejore hasta 5 veces. Sin embargo, en los escenarios multiproceso, quizás se omitan algunas actualizaciones del valor de contador, produciendo datos inexactos.

3t3h7ee5.alert_note(es-es,VS.90).gifNota:

Si el valor para la propiedad InstanceLifetime es Process y la categoría de contador de rendimiento se ha creado con la versión 1.0 o 1.1 de .NET Framework, se produce una excepción InvalidOperationException. Las categorías de contador de rendimiento que se crean con las versiones anteriores utilizan la memoria compartida global y el valor de InstanceLifetime debe ser Global. Si las aplicaciones que se ejecutan con las versiones 1.0 o 1.1 de .NET Framework no utilizan la categoría, elimínela y vuelva a crearla.

El ejemplo de código siguiente muestra cómo utilizar el método IncrementBy para agregar incrementos a un contador. Este ejemplo de código forma parte de un ejemplo más extenso de la clase PerformanceCounter.

	private static void CollectSamples(ArrayList samplesList)
	{
		
		Random r = new Random( DateTime.Now.Millisecond );

		// Loop for the samples.
		for (int j = 0; j < 100; j++) 
		{
	        
			int value = r.Next(1, 10);
			Console.Write(j + " = " + value);

			PC.IncrementBy(value);

			BPC.Increment();

			if ((j % 10) == 9) 
			{
				OutputSample(PC.NextSample());
				samplesList.Add( PC.NextSample() );
			}
			else
				Console.WriteLine();
	        
			System.Threading.Thread.Sleep(50);
		}

	}


private static void CollectSamples(ArrayList samplesList)
{
    Random r = new Random(DateTime.get_Now().get_Millisecond());
    // Loop for the samples.
    for (int j = 0; j < 100; j++) {
        int value = r.Next(1, 10);
        Console.Write(j + " = " + value);
        pc.IncrementBy(value);
        bpc.Increment();

        if (j % 10 == 9) {
            OutputSample(pc.NextSample());
            samplesList.Add(pc.NextSample());
        }
        else {
            Console.WriteLine();
        }
        System.Threading.Thread.Sleep(50);
    }
} //CollectSamples


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
Mostrar: