当前WCF调用的数据存储在哪里?ThreadStatic安全吗?

当我的服务执行时,许多类将需要访问User.Current(这是我自己的User类)。我可以安全地将_currentUser存储在[ThreadStatic]变量中吗?WCF是否重用其线程?如果是这样,它将何时清理ThreadStatic数据?如果使用ThreadStatic不安全,那么我应该将该数据放在哪里?在OperationContext.Current内部是否可以存储此类数据?

我可以断言使用ThreadStatic变量并不安全。WCF线程位于线程池中,并且永远不会初始化ThreadStatic变量。


蓝山帝景
浏览 656回答 3
3回答

POPMUISE

无需添加额外的驱动类的替代解决方案。    OperationContext operationContext = OperationContext.Current;    operationContext.IncomingMessageProperties.Add("SessionKey", "ABCDEFG");获得价值var ccc = a
打开App,查看更多内容
随时随地看视频慕课网APP