private static void OpenWCFPorts() { //打开WCF服务端口 #region MachineService host var machineService = new MachineService(); try { _machineServiceHost = new ServiceHost(machineService); _machineServiceHost.Opened += delegate { Log.Info($"机器服务已成功启动:{_machineServiceHost.BaseAddresses[0]}MachineService."); }; _machineServiceHost.Open(); } catch (Exception ex) { Log.Error(ex); _machineServiceHost = null; } #endregion #region ProcessService host var processService = new ProcessService(); try { _processServiceHost = new ServiceHost(processService); _processServiceHost.Opened += delegate { Log.Info($"过程服务已成功启动:{_processServiceHost.BaseAddresses[0]}ProcessService."); }; _processServiceHost.Open(); } catch (Exception ex) { Log.Error(ex); _processServiceHost = null; } #endregion #region ResourceService host try { _resourceServiceHost = new ServiceHost(typeof(ResourceService)); _resourceServiceHost.Opened += delegate { Log.Info($"资源服务已成功启动:{_resourceServiceHost.BaseAddresses[0]}ResourceService."); }; _resourceServiceHost.Open(); } catch (Exception ex) { Log.Error(ex); _resourceServiceHost = null; } //WcfService.HttpFactory.CreateServers( // new List<Type> { typeof(ResourceService) }, // (t) => { return t.Name; }, // (t) => { return typeof(IResourceService); }, // "WcfServices", // 8789, // (sender, exception) => { Log.Info(exception); }, // (msg) => { Log.Info(msg); }, // (msg) => { Log.Info(msg); }, // (msg) => { Log.Info(msg); }); #endregion #region PartnerService host var partnerService = new PartnerService(); try { _partnerServiceHost = new ServiceHost(partnerService); _partnerServiceHost.Opened += delegate { Log.Info($"冗余检测服务已成功启动:{_partnerServiceHost.BaseAddresses[0]}PartnerService."); }; _partnerServiceHost.Open(); } catch (Exception ex) { Log.Error(ex); _partnerServiceHost = null; } #endregion #region AdminService host var adminService = new AdminService(); try { _adminServiceHost = new ServiceHost(adminService); _adminServiceHost.Opened += delegate { Log.Info($"系统管理服务已成功启动:{_adminServiceHost.BaseAddresses[0]}AdminService."); }; _adminServiceHost.Open(); } catch (Exception ex) { Log.Error(ex); _adminServiceHost = null; } #endregion #region WebService host var webService = new ResourceWebService(); try { var serviceHost = new ServiceHost(typeof(ResourceWebService)); serviceHost.Opened += delegate { Log.Info($"WebService服务已成功启动:{_adminServiceHost.BaseAddresses[0]}WebService."); }; serviceHost.Open(); } catch (Exception ex) { Log.Error(ex); } #endregion OpenWebSocketPorts(); }
public void AddWebService <TStartup>() where TStartup : class { var baseUri = new Uri($"http://localhost:{TcpPortUtility.GetFreeTcpPort()}"); this.webServices.Add(typeof(TStartup), ResourceWebService.Create <TStartup>(baseUri)); }