/// <summary> /// 转换业务服务包 /// </summary> /// <param name="info"></param> /// <returns></returns> public static IServicePackage Convert2Package(ServicePackageInfo info) { ServicePackage package = new ServicePackage(); Assembly impleAssembly = getImpleAssembly(info); Assembly infAssembly = getInfAssembly(info); if (impleAssembly == null || infAssembly == null) { return(null); } foreach (ServiceInfo service in info.Services) { Type servicetype = infAssembly.GetType(service.ServiceTypeName); if (servicetype != null) { Type t = Type.GetType(servicetype.AssemblyQualifiedName); if (t != null) { servicetype = t; } } Type impletype = impleAssembly.GetType(service.ImpleTypeName); if (servicetype != null && impletype != null) { ServiceDesc desc = new ServiceDesc(servicetype, service.Key, impletype, service.IsDefault); package.AddService(desc); if (service.IsDefault) { package.SetDefaultService(new ServiceKey(desc)); } } } return(package); }
/// <summary> /// 添加服务 /// </summary> /// <param name="desc"></param> public void AddService(ServiceDesc desc) { ConfigValidator.ValidateServiceDesc(desc); ServiceKey servicekey = new ServiceKey(desc); serviceDic.Add(servicekey, desc); }
/// <summary> /// 构造函数 /// </summary> /// <param name="desc">服务描述</param> public ServiceKey(ServiceDesc desc) { type = desc.ServiceType; id = desc.Key; }