Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Modificadores para el control de la escritura condicional de los resultados del seguimiento

Quizá desee decidir si escribir los resultados de la traza según el estado de unos modificadores. BooleanSwitch es un modificador sencillo de apagado-encendido, mientras que TraceSwitch es un modificador con varias opciones de nivel. Para obtener más información, vea Modificadores de seguimiento.

Puede utilizar los métodos WriteIf y WriteLineIf para probar un modificador determinado y escribir un mensaje si resulta apropiado. Para utilizar BooleanSwitch a fin de escribir información de traza, utilice el campo Enabled en una instrucción If o en una instrucción WriteIf. Encontrará algunos ejemplos en Enabled, en la Referencia de .NET Framework. Para utilizar TraceSwitch a fin de escribir información de traza, utilice la propiedad Level de TraceSwitch. Encontrará algunos ejemplos en Level, en la Referencia de .NET Framework.

En el siguiente ejemplo se utiliza la propiedad Enabled de un BooleanSwitch denominado dataSwitch para determinar si debe escribir o no una línea.

System.Diagnostics.Trace.WriteLineIf(dataSwitch.Enabled, 
   "Starting connection procedure");

TraceSwitch proporciona varios niveles de configuración y expone un conjunto de propiedades correspondientes a esos niveles. Así, las propiedades BooleanTraceError, TraceWarning, TraceInfo y TraceVerbose se pueden probar como parte de una instrucción WriteIf o WriteLineIf. El código de este ejemplo escribe la información especificada sólo si el modificador TraceSwitch está configurado en un nivel de traza Error o superior:

System.Diagnostics.Trace.WriteLineIf(myTraceSwitch.TraceError, 
   "Error 42 occurred");
NotaNota

Cuando prueba TraceSwitch, se considera que el nivel es true si es igual o superior al nivel para el que realiza la prueba.

En el ejemplo anterior, siempre se llama al método WriteLineIf cuando la traza está habilitado. Por lo tanto, el ejemplo siempre debe ejecutar el código necesario para evaluar el segundo argumento de WriteLineIf. No obstante, normalmente obtendrá un mejor rendimiento si prueba primero BooleanSwitch y después llama al método general Trace.Write si la prueba tiene éxito, mediante este código:

if (MyBooleanSwitch.Enabled)
{
   System.Diagnostics.Trace.WriteLine("Error 42 occured");
}

Si prueba el valor Boolean antes de llamar al método de traza, evitará la ejecución de código innecesario, ya que la traza siempre evalúa todos los parámetros de WriteLineIf. Observe que esta técnica sólo mejora el rendimiento si TraceSwitch se encuentra desactivado durante el modo de funcionamiento normal de la aplicación. Si TraceSwitch está activado, la aplicación deberá evaluar todos los parámetros de WriteLineIf, para lo cual invertirá un tiempo adicional.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft