Gar*_*h D 6 c# structuremap singleton lucene.net ioc-container
我有一个线程安全对象,创建起来很昂贵,需要通过我的应用程序(Lucene.Net IndexReader)提供.
该对象可能变为无效,此时我需要重新创建它(IndexReader.IsCurrent为false,需要使用IndexReader.Reopen的新实例).
我希望能够使用IoC容器(StructureMap)来管理对象的创建,但是如果可能的话,我无法解决.感觉就像某种"有条件的单身"生命周期.
StructureMap是否提供了这样的功能?还有其他建议吗?
我可能会使用范围PerRequest而不是直接返回IndexReader。相反,我会返回一个抽象,IndexReader它将对类级别上保存的静态引用执行检查。
然后,当访问 shim/proxy/abstraction 上的属性时,它将检查静态引用(当然,您将使其成为线程安全的)并在将其IndexReader返回给用户之前重新获取(如果需要)。
| 归档时间: | 
 | 
| 查看次数: | 879 次 | 
| 最近记录: |