Castle Windsor:如何知道容器已被初始化或配置?
问题描述:
我正在使用Castle Windsor和来自我的App.config文件的配置。Castle Windsor:如何知道容器已被初始化或配置?
在代码中使用:
IWindsorContainer container = new WindsorContainer(new XmlInterpreter());
得到容器。
但是对于我的应用程序的某些配置,我不想使用CastleWindsor(对于某些迁移问题...),因此我不想在App.config中添加任何Castle部分。
而问题是,如果没有城堡的配置,然后
IWindsorContainer container = new WindsorContainer(new XmlInterpreter());
抛出一个异常“与此域相关的配置文件中找不到节‘城堡’。”
所以,在我的代码基本上我想要做的事,如:
if (IsCastleWindsorInitialized()) {/* do something */ } else { /* do something else */ }
在当App.config中含有的城堡节'IsCastleWindsorInitialized()返回true。
为了实现该功能,我当然可以使用ConfigurationManager,但我想知道是否可以使用Castle Windsor API来实现这一功能。
答
我会考察一个ConfigurationManager.GetSection(“城堡”)在app.config(也就是说,如果你只使用XML配置)
+0
使用ConfigurationManager可以。正如我的问题所写,我想知道如果没有它,是否可以实现,只使用CastleWindsor API。 – Thierry 2009-11-25 07:33:12
这听起来不像是个好主意......莫非你详细说明“我的应用程序的一些配置”?什么配置? – 2009-11-24 18:56:04
我同意这不是一个好主意。抱歉不清楚......我实际上有一个程序集在许多应用程序中使用,我想在该程序集中使用CastleWindsor。这意味着我应该更改所有配置文件以包含“城堡”部分。不幸的是,我现在没有时间......我宁愿让一些应用程序的默认行为,没有与温莎城堡配置。 – Thierry 2009-11-24 19:48:17