private static List <DataSyncService> LoadService(string[] files) { List <DataSyncService> serviceList = new List <DataSyncService>(); foreach (string cfg in files) { AppConfigProvider provider = new AppConfigProvider(cfg); if (!provider.CanAccess) { provider.Dispose(); //log.Debug(string.Format("加载服务:[{0}]失败,配置文件不可读!", Path.GetFileNameWithoutExtension(cfg))); continue; } Setting setting = new Setting(); setting.Initialize(provider); setting.Name = Path.GetFileNameWithoutExtension(cfg); DataSyncService service; #region 加载终端数据解释器 if (setting.ServiceAssembly == null || setting.ServiceAssembly == string.Empty) { throw new Exception("解析服务[{0},必须加载服务配置ServiceAssembly!".format(setting.Name)); } else { try { service = (DataSyncService)AssemblyHelper.CreateInstance(setting.ServiceAssembly.Split(',')); if (service == null) { throw new Exception("解析服务[{0},无法加载!找不到指定的程序集:{1}".format(setting.Name, setting.ServiceAssembly)); } service.Initialize(provider); } catch (Exception ex) { throw new Exception("解析服务[{0},在加载时发生错误!".format(setting.Name), ex); } } #endregion serviceList.Add(service); } return(serviceList); }
List <IService> LoadService(string[] files) { List <IService> serviceList = new List <IService>(); foreach (string cfg in files) { AppConfigProvider provider = new AppConfigProvider(cfg); if (!provider.CanAccess) { provider.Dispose(); //winLOG.Write($"加载服务:[{Path.GetFileNameWithoutExtension(cfg)}]失败,配置文件不可读!"); continue; } IConfig setting = new IConfig(); setting.Initialize(provider); setting.Name = Path.GetFileNameWithoutExtension(cfg); IService service; #region 加载终端数据解释器 if (setting.ServiceAssembly == null || setting.ServiceAssembly == string.Empty) { throw new Exception($"解析服务[{setting.Name},必须加载服务配置ServiceAssembly!"); } else { try { service = (IService)AssemblyHelper.CreateInstance(setting.ServiceAssembly.Split(',')); if (service == null) { throw new Exception($"解析服务[{setting.Name},无法加载!找不到指定的程序集:{setting.ServiceAssembly}"); } service.Initialize(provider); } catch (Exception ex) { throw new Exception($"解析服务[{setting.Name},在加载时发生错误!", ex); } } #endregion serviceList.Add(service); } return(serviceList); }