我有一个 C# 网络服务器,我一直在使用 StackOverflow miniprofiler 对其进行分析。因为它不是 ASP.NET 服务器,但每个请求通常都在其自己的线程上执行,所以我安装了 miniprofiler 以使用ThreadStatic
存储来从头到尾跟踪传入请求的所有分析器。这运作良好。
最近我们已经将所有内容都转换为 use async/await
,这意味着在 a 之后的延续await
通常不会回到相同的状态Thread
,因此ThreadStatic
存储不再起作用。
ThreadPool
在这种情况下,在不同线程之间传递一些小数据的最佳方法是什么?是否存在SynchronizationContext
对此类有用的现有实现?