通过配置文件配置,达到动态启动相应的服务

配置文件配置:将类名之间用分号隔开

  <appSettings>
    <add key="StartServices" value="WitbankServicesContractBLL.ManageExam;WitbankServicesContractDAL.ManageExam"/>
  </appSettings>


启动服务:读取配置文件里面的参数。

1、通过反射获取相应的分类对象名称。

2、将类对象名传递服务,动态启动

   /// <summary>
        /// 启动类服务
        /// </summary>
        /// <returns></returns>
        private static void StartServices()
        {
            ServiceHost aServiceHost = null;
            string Services = ConfigurationManager.AppSettings["StartServices"].ToString();
            for (int i = 0; i < Services.Split(';').Length; i++)
            {
                Type svcType = Type.GetType(Services.Split(';')[i] + "," + "WitbankServicesContract");//类名,程序集名称
                aServiceHost = new ServiceHost(svcType);
                aServiceHost.Opened += delegate
                {
                    Console.WriteLine(Services.Split(';')[i] + "服务已经启动了");
                };
                aServiceHost.Open();
            }
        }

 

posted on 2012-12-02 00:29  高兴happy  阅读(1893)  评论(0编辑  收藏  举报