Este es el código que crea el contador de rendimiento:PerformanceCounter.NextValue() lanza InvalidOperationException
var ftpPerfCounter = new PerformanceCounter("FTP Service", "Current Connections", "_Total");
Aquí es donde ocurre la excepción:
int cnt = (int)Math.Round(ftpPerfCounter.NextValue());
Aquí es el mensaje Exception
:
"Mensaje de error: el diseño del contador para la categoría especificada no es válido, un contador del tipo: AverageCount64, AverageTimer32, CounterMultiTimer, CounterMultiTimerInverse, CounterMultiTimer100Ns, CounterMultiTimer100NsInverse, RawFraction o SampleFraction tiene que ser seguido inmediatamente por cualquiera de los tipos de contador base: AverageBase, CounterMultiBase, RawBase o SampleBase. "
El mensaje de error es bastante críptico. No estoy seguro de qué se puede hacer para evitar la excepción en el futuro.
detalles
Esto sucede en Windows Server 2008 R2 del sistema operativo de 64 bits. El servidor FTP es IIS.