当我具有并行进程时,WCF操作为空

时间:2019-03-12 17:18:40

标签: c# wcf castle-windsor ioc-container

我有一个UserContext,在每个WCF调用中我都将其填充,在Castle容器中,其生活方式为PerWcfOperation

public class IUserContext
{
    string UserName {get;}
    string Token {get;}
}

Container.Register(Component.For<IUserContext>().ImplementedBy<UserContext>().LifeStyle.PerWcfOperation());

在服务方法中,当我解析IUserContext为null时。

public void Foo()
{
    foreach(...) {
        Task.Factory.StartNew(() =>method1);
    }

    void method1()
    {
         // context is null
         var context = Container.Resolve<IUserContext>();
    }
}

我必须在WCF调用中打开的所有线程中使用哪个LifeStyle? 还是有什么办法可以在所有任务之间分割IUserContext?

0 个答案:

没有答案