我们有一个解决方案,我们使用 WCF 客户端消息检查器从 http 标头中读取关联 ID(和其他值)。
然后我们将此值存储在 System.ServiceModel.OperationContext.Current.IncomingMessageProperties 中。
OperationContext.Current 是当前线程的执行上下文。
但是,根据 Jon Skeet 对这个问题的回答:IIS 中的请求会在单个线程上运行吗? asp.net 请求将在线程之间跳转。
这正是我们正在经历的,即在请求执行期间相关 id 会发生变化。
有没有什么地方可以存储来自 http 请求的值,以便可以在堆栈的较低位置访问它们?