我想知道在 WCF 服务主机实例的实例变量中存储和引用 OperationContext.Current 对象是否明智。服务主机设置为 InstanceContextMode.PerCall,因此每个新请求都有自己的实例。
我问这个的原因是因为 WCF 不保证线程亲和性。有时,WCF 可以在一个线程上启动请求并在另一个线程上结束请求。
OperationContext.Current 对象存储在线程本地存储中。当新线程用于同一操作时,WCF“传播”到新线程。
在这种情况下,当 WCF 开始使用不同的线程时,访问存储在我的服务实例的实例变量中的 OperationContext 对象是否仍然安全?