2009-11-24 49 views
1

我正在使用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来实现这一功能。

+0

这听起来不像是个好主意......莫非你详细说明“我的应用程序的一些配置”?什么配置? – 2009-11-24 18:56:04

+0

我同意这不是一个好主意。抱歉不清楚......我实际上有一个程序集在许多应用程序中使用,我想在该程序集中使用CastleWindsor。这意味着我应该更改所有配置文件以包含“城堡”部分。不幸的是,我现在没有时间......我宁愿让一些应用程序的默认行为,没有与温莎城堡配置。 – Thierry 2009-11-24 19:48:17

回答

0

我会考察一个ConfigurationManager.GetSection(“城堡”)在app.config(也就是说,如果你只使用XML配置)

+0

使用ConfigurationManager可以。正如我的问题所写,我想知道如果没有它,是否可以实现,只使用CastleWindsor API。 – Thierry 2009-11-25 07:33:12

相关问题