1

我正在研究一个问题,即从 OperationContext 检索扩展实例时,不同操作之间似乎存在一些交叉污染。它是那些令人讨厌的基于难以复制的并发问题之一。我强烈怀疑某种线程问题。我们在 IIS7.0/.NET 4 集成模式下运行 WCF 服务。我们扩展的相关部分如下:

public class CustomContext : IExtension<OperationContext>, ICustomContext
{
    public CustomContext Current
    {
        get
        {
            return OperationContext.Current != null ? OperationContext.Current.Extensions.Find<CustomContext>() : null;
        }
    }

   ...

 }

以上是从 PostSharp 方面调用的,我不确定这是否相关?鉴于上述情况,是否存在对 current 的调用可能返回错误的 CustomContext 实例的明显条件?为这样一个开放式问题道歉。

4

0 回答 0