示例#1
0
        private static void stopService(MyService service)
        {
            var srv = new ServiceController(service.name);

            if (srv.Status == ServiceControllerStatus.Running)
            {
                Console.WriteLine("Sjekker om man har riktig service: " + srv.DisplayName);
                //Gir kommando om å start servicen
                srv.Stop();
                Console.WriteLine("Har gitt beskjed om å stoppe: " + srv.DisplayName);
                srv.WaitForStatus(ServiceControllerStatus.Stopped);
                Console.WriteLine("Har fått stoppet status: " + srv.DisplayName);
                //Sender beskjed til frontend at servicen har blitt stoppet
                RunAsync(new MyService {
                    ServiceId = service.ServiceId, TmsId = service.TmsId, displayName = srv.DisplayName, status = "Stopped", name = srv.ServiceName, MachineName = srv.MachineName
                }).Wait();
            }
            else
            {
                Console.WriteLine("Noe går galt i stopService ");
            }
        }
示例#2
0
        private static void restartService(MyService service)
        {
            var srv = new ServiceController(service.name);

            if (srv.Status == ServiceControllerStatus.Running)
            {
                Console.WriteLine("Sjekker om man har riktig service: " + srv.DisplayName);
                //Gir kommando om å start servicen
                try
                {
                    if ((srv.Status.Equals(ServiceControllerStatus.Running)) || (srv.Status.Equals(ServiceControllerStatus.StartPending)))
                    {
                        srv.Stop();
                    }
                    srv.WaitForStatus(ServiceControllerStatus.Stopped);
                    srv.Start();
                    RunAsync(new MyService {
                        ServiceId = service.ServiceId, TmsId = service.TmsId, displayName = srv.DisplayName, status = "Starting", name = srv.ServiceName, MachineName = srv.MachineName
                    }).Wait();
                    srv.WaitForStatus(ServiceControllerStatus.Running);



                    RunAsync(new MyService {
                        ServiceId = service.ServiceId, TmsId = service.TmsId, displayName = srv.DisplayName, status = srv.Status.ToString(), name = srv.ServiceName, MachineName = srv.MachineName
                    }).Wait();
                }
                catch
                {
                    Console.WriteLine("Det skjedde noe galt som havnet i catch i  restartService");
                }
            }

            else
            {
                Console.WriteLine("Noe går galt i restartService Status er ikke Running");
            }
        }