我正在尝试使用 StructureMap 将两个相同类型的实例存储在两个不同的线程中。每个线程都应该有自己的实例:
    [TestMethod]
    public void ThatObjectFactoryReturnsDifferentTypesFromTwoThreadsWhenConfiguredThreadLocalStorage()
    {
        var t = new Thread(ConfigureThreadLocalStorageTest1);
        ITestObjectFactory test2 = new Test2();
        ObjectFactory.Configure(x => x.For<ITestObjectFactory>().LifecycleIs(new ThreadLocalStorageLifecycle()).Use(test2));
        t.Start();
        t.Join();
        test2 = ObjectFactory.GetInstance<ITestObjectFactory>();
        Assert.IsInstanceOfType(test2, typeof(Test2));
        Assert.IsInstanceOfType(_staticTest, typeof(Test1));
    }
    static void ConfigureThreadLocalStorageTest1()
    {
        System.Diagnostics.Debug.WriteLine(ObjectFactory.TryGetInstance<ITestObjectFactory>());
        ITestObjectFactory test1 = new Test1();
        ObjectFactory.Configure(x => x.For<ITestObjectFactory>().LifecycleIs(new ThreadLocalStorageLifecycle()).Use(test1));
        _staticTest = ObjectFactory.GetInstance<ITestObjectFactory>();
    }
}
public class Test2 : ITestObjectFactory
{
}
public class Test1 : ITestObjectFactory
{
}
public interface ITestObjectFactory
{
}
但是,上述测试失败。另外,使用 LifecycleIs(new ThreadLocalStorage()) 配置,我希望 ConfigureThreadLocalStorageTest1 中的 ObjectFactory.GetInstance() 方法返回 null?