gpt4 book ai didi

c# - Lucene.Net IndexReader 的 StructureMap 'conditional singleton'

转载 作者:太空狗 更新时间:2023-10-29 21:47:13 24 4
gpt4 key购买 nike

我有一个创建成本很高的线程安全对象,需要通过我的应用程序(Lucene.Net IndexReader)使用。

对象可能会变得无效,此时我需要重新创建它(IndexReader.IsCurrent 为假,需要使用 IndexReader.Reopen 的新实例)。

我希望能够使用 IoC 容器 (StructureMap) 来管理对象的创建,但我不知道这种情况是否可行。感觉像是某种“条件单例”生命周期。

StructureMap 是否提供这样的功能?还有其他建议吗?

最佳答案

我可能会使用 PerRequest 的范围,而不是直接返回 IndexReader。相反,我将返回 IndexReader 的抽象,它将对类级别上的静态引用执行检查。

然后,当您访问 shim/proxy/abstraction 上的属性时,它会检查静态引用(当然,您会使其成为线程安全的)并重新获取 IndexReader 如果在将其返回给用户之前需要。

关于c# - Lucene.Net IndexReader 的 StructureMap 'conditional singleton',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4948569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com