我目前正在从WCF的所有WebGet / WebInvoke修饰方法中返回一个流。我也得到一个流作为输入。我之所以这样做是因为我希望灵活应对&输入内容类型。这主要是因为我在解析输入时需要灵活性 - 它不能轻易地序列化/反序列化。
然而,我然后使用WebOperationContext.Current来设置httpstatuscodes。我担心这不会是线程安全的(线程如何知道它正在处理哪个上下文?)
所以我的问题是 - 在高负载条件下使用WebOperationContext.Current线程安全吗?
有谁知道线程和WebOperationContext.Current是如何链接的?它是否使用TLS(线程本地存储)?
第
答案 0 :(得分:0)
WebOperationContext州的文件:
任何公共静态(在Visual中共享) 基本)这种类型的成员是线程 安全。任何实例成员都不是 保证是线程安全的。
这意味着调用Current是线程安全的,因为它是静态的,但是在返回的实例上调用任何方法都不能保证是线程安全的。