我来自于Java和Spring的背景,对于Castle Windsor还比较陌生。我了解到了解什么时候瞬态组件将被Castle释放很重要,因为它跟踪所有创建的组件。但是我很难理解我的组件何时会被释放。以下是我的模型基本信息:
Singleton -> Singleton Typed Factory -> Transient Objects
如果我释放这个链中的第一个单例,由typed factory创建的所有瞬态对象都会被释放吗?是否有任何API调用可以检查这种情况?我在Castle Windsor网站上找不到任何全面的API文档。我找到的文档似乎对我来说不清楚。
编辑: 我的问题归结为两个主要问题。 1.如果我有一个依赖于单例类型工厂(B)的单例对象(A),并释放单例A,那么它是否会释放B?下面回答中提到的博客文章说,对单例对象的释放调用将被忽略,因此我的假设是不会被释放。 2.如果我有一个单例类型的工厂,它被多个Web请求同时使用来创建短暂的对象,并被一个Web请求释放,那么所有短暂的对象都会被释放,无论它们是从哪个Web请求创建的。它几乎看起来比为每个Web请求或短暂的生活方式制作类型的工厂更好。