Beispiel #1
0
 public void DeserializeFromString(String stringData)
 {
     try
     {
         XmlSerializer xmlSerializer = new XmlSerializer(this.GetType());
         using (TextReader reader = new StringReader(stringData))
         {
             BackupInformation temp = (BackupInformation)xmlSerializer.Deserialize(reader);
             this.ServiceList = temp.ServiceList;
         }
     }
     catch (Exception E)
     {
         String exception = E.ToString();
     }
 }
Beispiel #2
0
        static int Main(string[] args)
        {
            BackupInformation backupInformation = new BackupInformation();

            Console.Clear();
            // Get argument value
            if (args.Length > 0)
            {
                switch (args[0])
                {
                case "-r":     // Restore services backup
                    try
                    {
                        if (backupInformation != null)
                        {
                            backupInformation.Load();
                            if (backupInformation.ServiceList.Count > 0)
                            {
                                Console.Clear();
                                Console.SetCursorPosition(0, 0);
                                Console.WriteLine("The service restore started. Please wait...");
                                foreach (ServiceInformation item in backupInformation.ServiceList)
                                {
                                    try
                                    {
                                        ServiceController service = new ServiceController(item.Name);
                                        service.Refresh();

                                        if (!service.StartType.Equals(item.StartType))
                                        {
                                            ServiceHelper.ChangeStartModeT(service, item.StartType);
                                        }

                                        if (service.Status != item.Status)
                                        {
                                            Console.Clear();
                                            Console.SetCursorPosition(0, 0);
                                            Console.WriteLine(String.Format("Service {0} is under processing. Please wait...", item.Name));

                                            if (item.Status.Equals(ServiceControllerStatus.Running))
                                            {
                                                service.Start();

                                                TimeSpan timeout = TimeSpan.FromMilliseconds(10000);
                                                service.WaitForStatus(ServiceControllerStatus.Running, timeout);
                                                service.Refresh();
                                            }
                                            else if (item.Status.Equals(ServiceControllerStatus.Stopped))
                                            {
                                                service.Stop();

                                                TimeSpan timeout = TimeSpan.FromMilliseconds(10000);
                                                service.WaitForStatus(ServiceControllerStatus.Running, timeout);
                                                service.Refresh();
                                            }
                                        }
                                    }
                                    catch
                                    {
                                        continue;
                                    }
                                }
                                Console.Clear();
                                Console.SetCursorPosition(0, 0);
                                Console.WriteLine("The service restore completed successfuly");
                            }
                        }
                        return(-1);
                    }
                    catch (Exception E)
                    {
                        String exception = E.ToString();
                        return(-1);
                    }

                case "-b":     // Create services backup
                    try
                    {
                        if (backupInformation != null)
                        {
                            Console.Clear();
                            Console.SetCursorPosition(0, 0);
                            Console.WriteLine("The service backup started. Please wait...");
                            ServiceController[] Services = ServiceController.GetServices();
                            foreach (ServiceController service in Services)
                            {
                                backupInformation.ServiceList.Add(new ServiceInformation()
                                {
                                    Name      = service.ServiceName,
                                    StartType = service.StartType,
                                    Status    = service.Status
                                });
                            }
                            backupInformation.Save();
                            Console.Clear();
                            Console.SetCursorPosition(0, 0);
                            Console.WriteLine("The service backup completed successfuly");
                            return(1);
                        }
                        return(-1);
                    }
                    catch (Exception E)
                    {
                        String exception = E.ToString();
                        return(-1);
                    }
                }
            }
            return(-1);
        }