配置config文件:(注意名称空间)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<facilities>
<facility id="factorysupport"
type="Castle.Facilities.FactorySupport.FactorySupportFacility, Castle.MicroKernel" />
</facilities>
<components>
<component
id="WorkFlowCom"
type="VINE.Bus.Service.ServiceImpl.WorkFlow, VINE.Bus.Service"
lifestyle="transient">
</component>
<component
id="DistIMCom"
type="VINE.Bus.Service.ServiceImpl.DistIM, VINE.Bus.Service"
lifestyle="transient">
</component>
</components>
</configuration>
使用Castle生成组件数组,业务需要每个组件都继承IVineBus接口
WindsorContainer container = new WindsorContainer(new XmlInterpreter("Castle.config"));
IVineBus[] m_VineBusArray = container.ResolveAll<IVineBus>();
foreach (IVineBus m_VineBus in m_VineBusArray)
{
m_VineBus.Bus = m_EndpintConfig.Bus;
ServiceHost m_ServiceHost = new ServiceHost(m_VineBus.GetType());
m_ServiceHost.Open();
}
装载完成。