【发布时间】:2015-11-10 03:21:05
【问题描述】:
我想从不同的线程解析同一个对象。但是当我在一个线程中处理(拆卸)一个对象并在另一个线程中解析它时,我得到了两个不同的对象,尽管该对象需要在整个应用程序中是一个单例。 LifetimeManager 是一个 ContainerControlledLifetimeManager,它的行为应该像一个单例,但当我有多个线程时它不会。
我能解决这个问题吗?
更多详情: 我认为问题的一部分可能是我在一个线程中注册了一个新的类型映射。尽管我已经同步了调用,但 UnityContainer 似乎保留了对之前构建的项目的引用,并将其提供给调用解析的线程。注册新类型映射的线程得到新项目就好了。
【问题讨论】:
-
愚蠢的问题,但让我们澄清一下:容器是跨所有线程共享还是每个线程都有自己的实例?
-
整个应用程序只设置了一个容器。
-
能否请您补充一些详细信息,添加代码sn-p好
标签: c# .net unity-container