コード例 #1
0
        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();
        }
コード例 #2
0
        public void AddWebService <TStartup>() where TStartup : class
        {
            var baseUri = new Uri($"http://localhost:{TcpPortUtility.GetFreeTcpPort()}");

            this.webServices.Add(typeof(TStartup), ResourceWebService.Create <TStartup>(baseUri));
        }