【发布时间】:2017-10-17 01:12:43
【问题描述】:
我有一个 C# 网络服务器,我一直在使用 StackOverflow miniprofiler 对其进行分析。因为它不是 ASP.NET 服务器,但每个请求通常都在其自己的线程上执行,所以我操纵 miniprofiler 以使用 ThreadStatic 存储从头到尾跟踪传入请求的所有分析器。这很好用。
最近我们已将所有内容转换为使用async/await,这意味着await 之后的延续通常不会回到相同的Thread,因此ThreadStatic 存储不再有效。
在这种情况下,在不同的ThreadPool 线程之间传递一些小数据的最佳方式是什么?是否有现有的 SynchronizationContext 实现可以用于这样的事情?
【问题讨论】:
-
你使用的是哪个版本的框架?
-
对不起,应该提到这一点。我正在使用 4.5。
标签: c# multithreading async-await miniprofiler