Frage

Also ich wahrscheinlich bin fehle die offensichtlich hier, aber was ist eigentlich der Unterschied zwischen der Funktionalität des TraceSwitch und SourceSwitch Klassen?

Sie geben beide identisch zusammenfassende Beschreibung:

Bietet einen Multi-Level-Schalter zur Steuerung Tracing und Debugausgabe ohne den Code neu kompilieren.

Sind die Bemerkungen Abschnitte seltsam ähnlich sind meine Augen. Könnte jemand bitte den Unterschied in ihrer Funktionalität und Anwendungsfälle klären?

(Der Vollständigkeit halber, ich bin Schalter mit meinem TraceSource Objekt, anstatt die alte statische Trace Klasse, obwohl ich bezweifle, dass es viel Unterschied macht.)

War es hilfreich?

Lösung

Der Unterschied besteht darin, dass TraceSwitch Arbeiten mit Trace Nachrichten während SourceSwitch mit TraceSource Nachrichten arbeitet, die die Nachrichten mit ihrer Quelle verbinden. Also mit einem SourceSwitch können Sie Ihre Zuhörer konfigurieren, basierend auf auf dem die Trace-Meldungen kamen aus.

stimme ich in der Dokumentation nicht direkt den Unterschied hinweisen, sondern im Zusammenhang mit TraceSource Klasse Dokumentation und Sie finden diese:

Die TraceSource Klasse identifiziert durch der Name einer Quelle, in der Regel der Name der Anwendung. die Spur Nachrichten von einem bestimmten kommenden Komponente kann durch eine eingeleitet werden insbesondere Spurenquelle, so dass alle Nachrichten von dieser Komponente zu kommen wird leicht identifiziert werden.

Es gibt auch ein Beispiel, das Sie zeigt, wie eine SourceSwitch konfiguriert von einer Spur Quelle Tracing auszuschalten.

Andere Tipps

Der (älter) Trace ist im Grunde ein Tracelevel-Objekt mit der statischen Trace-Klasse in Kombination verwendet werden.

Der (neuer) Trace kombiniert ein Tracelevel-Konzept mit dem tatsächlichen Ausgabemethoden.

Als Folge in einer großen App mehrere TraceSwitches zu konfigurieren Trace-Einstellungen für verschiedene Teile (GUI, DAL) des Programms, sondern die gesamte Ausgabe sendet auf den gleichen Tracelistener (n) sein kann.

Mit einem Trace können Sie unabhängige Ausgangskanäle. Und eine etwas bessere API.

Diese Erklärung der Differenz zwischen Tracelevel und SourceLevel helfen könnten:

System.Diagnostics versteckt SourceLevels

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top