我正在使用Castle Windsor进行IoC,并使用以下工厂将配置保存在web.config
/ app.config
中:
public static TYPE Factory(string component)
{
var windsorContainer = new WindsorContainer(new XmlInterpreter());
var service = windsorContainer.Resolve<TYPE>(component);
if (service == null)
throw new ArgumentNullException(string.Format("Unable to find container {0}", component));
return service;
}
和我的web.config
看起来像这样:
<configuration>
<configSections>
<section name="castle" type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor"/>
</configSections>
<castle>
<components>
<component id="Data" service="Data.IData, Data" type="Data.DataService, Data"/>
</components>
</castle>
<appSettings>.......
哪个工作正常,但我想将Castle Windsor的配置放在名为castle.config
的文件中。我该怎么做?
答案 0 :(得分:4)
WindsorContainer将接受配置文件的名称作为构造参数:
public WindsorContainer(string xmlFile)
摘要:初始化一个新实例 Castle.Windsor.WindsorContainer 使用xml文件配置的类 它。相当于使用新的 WindsorContainer(新 XmlInterpreter(XMLFILE))
您的castle.config文件将如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<components> ...