Beispiel #1
0
        public ServiceStatusMessage ServiceStatus(string serviceFullPath, string serviceName)
        {
            var services = ServiceController.GetServices();
            var service  = services.FirstOrDefault(s => s.ServiceName == serviceName);
            var result   = new ServiceStatusMessage
            {
                Exists    = File.Exists(serviceFullPath),
                Installed = service != null
            };

            if (result.Exists)
            {
                var serviceAssemblyFileVersioneInfo = FileVersionInfo.GetVersionInfo(serviceFullPath);

                // Versione del servizio
                result.Version = serviceAssemblyFileVersioneInfo.FileVersion;

                if (result.Installed)
                {
                    // Status del servizio
                    result.Status = new ServiceController(serviceName).Status;
                }
                else
                {
                    result.Message = "Il servizio non è installato";
                }
            }
            else
            {
                result.Message = "Il servizio non esiste";
            }
            return(result);
        }
Beispiel #2
0
        public MonitorActor(IActorRef consoleDashBoard)
        {
            var serviceActor = Context.ActorOf(Props.Create <CheckHealthActor>().WithRouter(new RoundRobinPool(10)));

            this.Receive <IEnumerable <string> >(list =>
            {
                foreach (var serviceUrl in list)
                {
                    serviceActor.Tell(serviceUrl);
                }
            });

            this.Receive <Tuple <string, bool> >(t => { consoleDashBoard.Tell(t.Item2 ? ServiceStatusMessage.Ok(t.Item1) : ServiceStatusMessage.Fail(t.Item1)); });
        }