标准生活方式
当从 Windsor 容器中解析 Component
时,它必须具有其所在范围的定义。通过范围意味着是否以及如何重用它以及何时释放垃圾收集器的对象以进行销毁。这是 Component
的 LifeStlye
。
指定 LifeStyle 的方法是注册组件。两个最常见的 LifeStyles
是:
-
Transient
- 每次解析组件时,容器都会生成一个新的实例。Container.Register(Component.For<Bar>().LifestyleTransient());
-
Singleton
- 每次解析组件时,容器都会返回相同的实例Container.Register(Component.For<Foo>().LifestyleSingleton());
Singleton 是默认的生活方式,如果你没有明确指定任何生活方式,将使用它。
其他内置的 LifeStyles
包括 PerWebRequest
,Scoped
,Bound
,PerThread
,Pooled
有关不同生活方式以及每种生活方式的详细信息,请参阅 Castle 的文档