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