使用Castle动态装载WCF服务

来源:互联网 发布:在线淘宝代码生成器 编辑:程序博客网 时间:2024/05/16 14:28

配置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();                }

装载完成。

原创粉丝点击