title: TraceSource.TraceTransfer vs TraceSource.TraceEvent(TraceEventType.Transfer
body: <p>When using System.Diagnostics TraceSource for logging/tracing, is there a difference between using TraceSource.TraceTransfer and TraceSource.TraceEvent(TraceEventType.Transfer, ... ?</p>
  <p>In our environment, we will be developing a number of services that will communicate via WCF.  We are also evaluating what platform we should use for logging/tracing.  We are leaning towards using System.Diagnostics, at least in part because of the ability to correlate logs between services using the CorrelationManager, ActivityID, TraceTransfer etc.</p>
  <p>I can see in the documentation for TraceSource that it has a TraceTransfer method as well as a TraceEvent that can take TraceEventType.Transfer as an event type.  When would you use one vs the other?  I have seen examples like <a href="https://docs.microsoft.com/en-us/archive/blogs/andreal/wcf-end-to-end-tracing" rel="nofollow noreferrer" title="here">here</a> that show how to use Start/Stop and how to manage the ActivityID and CorrelationManager, but I have rarely seen anyone use TraceSource.TraceEvent(TraceEventType.Transfer, ... ).  There is an example <a href="https://web.archive.org/web/20130328181500/http://live.mscommunity.net:80/blogs/damirdobric/archive/2009/03.aspx" rel="nofollow noreferrer">here</a> that shows using TraceEventType.Transfer (as well as explicitly calling TraceTransfer).</p>
  <p>By this point, maybe I am actually starting to answer my own question...</p>
  <p>It seems like TraceSource.TraceTransfer is explicitly doing something with the ActivityID that is passed as a parameter whereas calling TraceSource.TraceEvent(TraceEventType.Transfer, ...) is not explicitly doing anything with the ActivityID (since it is not passed as a parameter).  It seems like it is really just logging another event, that happens to be a Transfer event, but does not do anything else with the CorrelationManager or anything else.</p>
  <p>Thanks for any help.</p>