title: Passing data between ThreadPool threads
body: <p>I have a C# webserver which I have been profiling using the StackOverflow miniprofiler.  Because it's not an ASP.NET server, but each request was typically executed on its own thread, I rigged the miniprofiler to use <code>ThreadStatic</code> storage to track all of the profilers of an incoming request from start to finish.  This worked well.</p>
  
  <p>Recently we've converted everything to use <code>async/await</code>, which means continuations after an <code>await</code> typically don't come back onto the same <code>Thread</code> and thus the <code>ThreadStatic</code> storage no longer works.</p>
  
  <p>What's the best way to pass some small piece of data between different <code>ThreadPool</code> threads in this case?  Are there existing <code>SynchronizationContext</code> implementations that would be useful for something like this?</p>