標準生活方式
當從 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 的文件