Pregunta

Así que probablemente me falta lo obvio aquí, pero lo que realmente es la diferencia entre la funcionalidad de la TraceSwitch y href="http://msdn.microsoft.com/en-us/library/system.diagnostics.sourceswitch.aspx" rel="noreferrer"> SourceSwitch clases?

Ambos dan descripciones resumidas idénticas:

  

Proporciona un interruptor de control multinivel para el rastreo y la salida de depuración sin recompilar el código.

¿Son las secciones observaciones son extrañamente similares a los ojos. Podría alguien aclarar la diferencia en sus casos de uso y funcionalidad?

(Para completar, estoy usando interruptores con mi objeto TraceSource, en lugar de la clase Trace estática de edad, aunque lo dudo hace mucha diferencia.)

¿Fue útil?

Solución

La diferencia es que las obras TraceSwitch con mensajes Trace mientras que SourceSwitch trabaja con mensajes TraceSource, que asocian los mensajes con su fuente. Así que con un SourceSwitch puede configurar sus oyentes basado en el lugar donde los mensajes de seguimiento de procedencia.

Estoy de acuerdo la documentación no apunta directamente la diferencia, pero cavar a su alrededor en el relacionado TraceSource documentación de la clase noreferrer y encontrará lo siguiente:

  

La clase se identifica por TraceSource   el nombre de una fuente, típicamente el   nombre de la aplicación. la traza   los mensajes procedentes de un particular,   componente puede ser iniciado por un   en particular origen de seguimiento, permitiendo que todos   los mensajes procedentes de ese componente a   ser fácilmente identificados.

También hay un ejemplo que muestra cómo configurar un SourceSwitch desactivar el seguimiento de un origen de seguimiento.

Otros consejos

El TraceSwitch (más) básicamente es un objeto TraceLevel para ser utilizado en combinación con la clase Trace estática.

El (más reciente) TraceSource combina un concepto TraceLevel con métodos de salida reales.

Como consecuencia de ello, en una gran aplicación que puede utilizar múltiples TraceSwitches a Preferencias Configurar traza para diferentes partes (interfaz gráfica de usuario, DAL) del programa, pero toda la producción será enviada a la misma TraceListener (s).

Con una TraceSource que puede tener canales de salida independientes. Y un poco mejor API.

Esta explicación de la diferencia entre TraceLevel y SourceLevel podría ayudar:

System.Diagnostics SourceLevels ocultos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top