/// <summary> /// 重新启动所有可临时中断的服务。 /// </summary> public void RestartSafelyServices() { LocalSettings localSettings = new XmlSerializerWrapper <LocalSettings>().Entity; //停止所有可临时中断的服务 this.StopRunningStatusRefreshThread(); PickAreaService.Instance.Stop(); ProductAreaService.Instance.Stop(); InitService.Instance.Stop(); HistoryRecordsRemover.Instance.Stop(); AssortResultWriteBack.Instance.Stop(); CartFindingDeliveryResultWriteBack.Instance.Stop(); AssembleResultWriteBack.Instance.Stop(); AssortingExecutorLoader.Instance.Stop(); CartFindingExecutor.Instance.Stop(); IndicatingExecutorLoader.Instance.Stop(); ServiceHosts.Close(); //启动所有可临时中断的服务 ServiceHosts.Open(localSettings.ServiceIP, localSettings.ServicePort); AssortingExecutorLoader.Instance.Start(); CartFindingExecutor.Instance.Start(); IndicatingExecutorLoader.Instance.Start(); AssortResultWriteBack.Instance.Start(localSettings.PtlToLesServiceUrl); CartFindingDeliveryResultWriteBack.Instance.Start(localSettings.PtlToLesServiceUrl); AssembleResultWriteBack.Instance.Start(localSettings.PtlToMesServiceUrl); HistoryRecordsRemover.Instance.Start(localSettings.HistoryHoldingDays); //启动AGV配送任务发送业务 PickAreaService.Instance.Start(localSettings.PtlToAgvServiceUrl); ProductAreaService.Instance.Start(localSettings.PtlToAgvServiceUrl); InitService.Instance.Start(localSettings.PtlToAgvServiceUrl); this.StartRunningStatusRefreshThread(); }
/// <summary> /// 停止所有服务。 /// </summary> public void StopServices() { this.StopRunningStatusRefreshThread(); PickAreaService.Instance.Stop(); ProductAreaService.Instance.Stop(); InitService.Instance.Stop(); Ptl.Device.Log.Logger.HoldingPeriodInDays = int.MaxValue; HistoryRecordsRemover.Instance.Stop(); AssortResultWriteBack.Instance.Stop(); CartFindingDeliveryResultWriteBack.Instance.Stop(); AssembleResultWriteBack.Instance.Stop(); AssortingExecutorLoader.Instance.Stop(); CartFindingExecutor.Instance.Stop(); IndicatingExecutorLoader.Instance.Stop(); CartPtlHost.Instance.Stop(); ChannelPtlHost.Instance.Stop(); //关闭PickZone通讯 PickZoneHost.Instance.Stop(); //关闭FeedZone通讯(分装工位) FeedZoneHost.Instance.Stop(); CacheRegionHost.Instance.Stop(); AssemblySectionHost.Instance.Stop(); //关闭MarketZone通讯 MarketZoneHost.Instance.Stop(); ServiceHosts.Close(); this.DeviceOnLineStatusReset(); }