2009-11-09 39 views
0

我目前正从WCF的所有WebGet/WebInvoke装饰方法返回一个流。而且我还得到一个流作为输入。我这样做是因为我希望灵活性与响应&输入内容类型。这主要是因为我在解析输入时需要灵活性 - 它不容易序列化/反序列化。是wcf rest weboperationcontext.current线程安全吗?

然后我使用WebOperationContext.Current来设置httpstatuscodes。我担心这不会是线程安全的,但(线程将如何知道它正在处理的上下文?)

所以我的问题是 - 在高负载条件下使用WebOperationContext.Current线程安全吗?

有谁知道线程和WebOperationContext.Current是如何链接的?它是否使用TLS(线程本地存储)?

p。

回答

0

WebOperationContext状态的文档:

任何公共静态此类型的成员(在Visual Basic中的Shared)是线程安全的 。任何实例成员不是 保证是线程安全的。

这意味着调用Current是线程安全的,因为它是静态的,但在返回的实例上调用任何方法都不能保证是线程安全的。