При использовании System.Diagnostics TraceSource для ведения журнала / трассировки, есть ли разница между использованием TraceSource.TraceTransfer и TraceSource.TraceEvent (TraceEventType.Transfer, ...?
В нашей среде мы будем разрабатывать ряд служб, которые будут взаимодействовать через WCF. Мы также оцениваем, какую платформу мы должны использовать для регистрации / отслеживания. Мы склоняемся к использованию System.Diagnostics, по крайней мере, частично из-за способности коррелировать журналы между сервисами, используя CorrelationManager, ActivityID, TraceTransfer и т. Д.
В документации по TraceSource я вижу, что у него есть метод TraceTransfer, а также TraceEvent, который может принимать TraceEventType.Transfer в качестве типа события. Когда бы вы использовали один против другого? Я видел примеры вроде здесь , которые показывают, как использовать Start / Stop и как управлять ActivityID и CorrelationManager, но я редко видел, чтобы кто-либо использовал TraceSource.TraceEvent (TraceEventType.Transfer, ...). Вот пример здесь , который показывает использование TraceEventType.Transfer (а также явный вызов TraceTransfer).
К этому моменту, возможно, я действительно начинаю отвечать на свой вопрос ...
Похоже, что TraceSource.TraceTransfer явно делает что-то с ActivityID, который передается в качестве параметра, тогда как вызов TraceSource.TraceEvent (TraceEventType.Transfer, ...) явно ничего не делает с ActivityID (поскольку он не передается в качестве параметра). Похоже, что на самом деле это просто запись другого события, которое является событием Transfer, но ничего не делает с CorrelationManager или чем-то еще.
Спасибо за любую помощь.