通过配置文件配置,达到动态启动相应的服务
配置文件配置:将类名之间用分号隔开
<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(); } }