public ServiceManifestElement Read( IServicePackage package) { if (package is null) { throw new ArgumentNullException(nameof(package)); } using (var manifestStream = package.GetManifestStream()) { var manifest = DeserializeElement <ServiceManifestElement>(manifestStream); manifest.PackageRoot = package.Path; foreach (var configurationPackage in manifest.ConfigurationPackages) { using (var settingsStream = package.GetSettingsStream(configurationPackage.Name)) { if (settingsStream is null) { continue; } configurationPackage.Settings = DeserializeElement <ConfigurationSettingsElement>(settingsStream); } } return(manifest); } }
/// <summary> /// 初始化服务总线(本地调用不走WCF服务) /// </summary> public static void InitializeClientBus() { if (bizbus == null) { bizbus = new ClientBizBus(); } ClientBizBus cbizbus = bizbus as ClientBizBus; List <ServicePackageInfo> packageinfos = ConfigLoader.GetPackageList(); ServicePackageLoader loader = new ServicePackageLoader(); ServicePackageList packages = new ServicePackageList(); foreach (ServicePackageInfo info in packageinfos) { IServicePackage package = PackageConverter.Convert2Package(info); if (package == null) { continue; } packages.Add(package); } cbizbus.packages = packages; cbizbus.IndexPackage(); }
/// <summary> /// 移除服务 /// </summary> /// <param name="package"></param> public static void RemovePackage(IServicePackage package) { ClientBizBus cbizbus = bizbus as ClientBizBus; cbizbus.packages.Remove(package); cbizbus.IndexPackage(); }
public ServiceManifestProvider( IServicePackage package, IServiceManifestReader manifestReader) { this.package = package ?? throw new ArgumentNullException(nameof(package)); this.manifestReader = manifestReader ?? throw new ArgumentNullException(nameof(manifestReader)); }
/// <summary> /// 移除服务包对象 /// </summary> /// <returns></returns> public void RemoveServicePackage(IServicePackage servicePackage) { lock (servicePackages) { if (this.servicePackages.Contains(servicePackage)) { this.servicePackages.Remove(servicePackage); } } }
/// <summary> /// 添加服务包对象 /// </summary> /// <returns></returns> public void AddServicePackage(IServicePackage servicePackage) { lock (servicePackages) { if (!this.servicePackages.Contains(servicePackage)) { this.servicePackages.Add(servicePackage); } } }