public MainService()
   {
       InitializeComponent();
       try
       {
           configHandler = new AtonServiceConfigHandler();
           sm = new ServiceManage();
       }
       catch (Exception ex)
       {
           NativeHelper.FileTracerHelper.Trace(ex);
       }
 
   }
Beispiel #2
0
 /// <summary>
 /// 加载服务信息
 /// </summary>
 /// <param name="configHandler"></param>
 /// <returns></returns>
 protected bool LoadServiceInfo(AtonServiceConfigHandler configHandler)
 {
     foreach (var item in configHandler)
     {
         IAtonService service;
         if (TryCreateInstance<IAtonService>(item.Type, out service))
         {
             container.TryAdd(item.Name, service);
         }
         else
         {
             container.Clear();
             return false;
         }
     }
     return true;
 }
Beispiel #3
0
 /// <summary>
 /// 加载服务信息
 /// </summary>
 /// <param name="configHandler"></param>
 /// <returns></returns>
 protected bool LoadServiceInfo(AtonServiceConfigHandler configHandler)
 {
     foreach (var item in configHandler)
     {
         IAtonService service;
         if (TryCreateInstance <IAtonService>(item.Type, out service))
         {
             container.TryAdd(item.Name, service);
         }
         else
         {
             container.Clear();
             return(false);
         }
     }
     return(true);
 }
 public void InitHost(AtonServiceConfigHandler handler,string execpath)
 {
     configHandler = handler;
     _exePath = execpath;
 }
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        static void Main(string[] args)
        {
            string _exePath = Assembly.GetExecutingAssembly().Location;
            AtonServiceConfigHandler configHandler;
            try
            {
               
                  configHandler = new AtonServiceConfigHandler();
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
                Console.Write(ex.StackTrace);
                return;
            }
            if (configHandler.ServiceSummary.ServiceName.Length == 0)
            {
                Console.WriteLine("Error:Unable get service name");
                return;
            }
            if (args != null && args.Length > 0)
            {
                if (args[0].Equals("-i", StringComparison.OrdinalIgnoreCase))
                {
                    bool r = helper.InstallService(_exePath, configHandler.ServiceSummary.ServiceName, configHandler.ServiceSummary.ServiceName, configHandler.ServiceSummary.ServiceDesc, NativeInstaller.ServiceStartType.SERVICE_AUTO_START);
                    Console.WriteLine("Service Name :" + configHandler.ServiceSummary.ServiceName);
                    Console.WriteLine("Service Desc :" + configHandler.ServiceSummary.ServiceDesc);
                    Console.WriteLine("Install Result :" + (r ? "Success" : "Fail"));
                    return;
                }
                else if (args[0].Equals("-u", StringComparison.OrdinalIgnoreCase))
                {
                    bool r = helper.UnInstallService(configHandler.ServiceSummary.ServiceName);
                    Console.WriteLine("Service Name :" + configHandler.ServiceSummary.ServiceName);
                    Console.WriteLine("Service Desc :" + configHandler.ServiceSummary.ServiceDesc);
                    Console.WriteLine("Uninstall :" + (r ? "Success" : "Fail"));
                    return;
                }
                else if (args[0].Equals("-r", StringComparison.OrdinalIgnoreCase))
                {
                    Console.WriteLine("Service Name :" + configHandler.ServiceSummary.ServiceName);
                    Console.WriteLine("Service Desc :" + configHandler.ServiceSummary.ServiceDesc);
                    bool r = helper.StartService(configHandler.ServiceSummary.ServiceName);
                    Console.WriteLine("Start :" + (r ? "Success" : "Fail"));
                }
                else if (args[0].Equals("-s", StringComparison.OrdinalIgnoreCase))
                {
                    bool r = helper.StopService(configHandler.ServiceSummary.ServiceName);
                    Console.WriteLine("Service Name :" + configHandler.ServiceSummary.ServiceName);
                    Console.WriteLine("Service Desc :" + configHandler.ServiceSummary.ServiceDesc);
                    Console.WriteLine("Stop :" + (r ? "Success" : "Fail"));
                }
                else if (args[0].Equals("-l", StringComparison.OrdinalIgnoreCase))
                {
                    Console.WriteLine(string.Format("Host Service List: {0} \n", configHandler.Count));
                    foreach (var item in configHandler)
                    {
                        Console.WriteLine(string.Format("Service Name: {0} \nFullName:{1}", item.Name, item.Type.Split(',')[0]));
                        Console.WriteLine("");
                    }
                    return;
                }
                else if (args[0].Equals("-g", StringComparison.OrdinalIgnoreCase))
                {
                    var r = helper.GetServiceState(configHandler.ServiceSummary.ServiceName);
                    switch (r)
                    {
                        case NativeInstaller.ServiceState.SERVICE_STOPPED:
                            Console.WriteLine("Service State: Stopped");
                            break;
                        case NativeInstaller.ServiceState.SERVICE_START_PENDING:
                            Console.WriteLine("Service State: Wait Start");
                            break;
                        case NativeInstaller.ServiceState.SERVICE_STOP_PENDING:
                            Console.WriteLine("Service State: Wait Stop");
                            break;
                        case NativeInstaller.ServiceState.SERVICE_RUNNING:
                            Console.WriteLine("Service State: Running");
                            break;
                        case NativeInstaller.ServiceState.SERVICE_CONTINUE_PENDING:
                            Console.WriteLine("Service State: Wait Continue");
                            break;
                        case NativeInstaller.ServiceState.SERVICE_PAUSE_PENDING:
                            Console.WriteLine("Service State: Wait Pause");
                            break;
                        case NativeInstaller.ServiceState.SERVICE_PAUSED:
                            Console.WriteLine("Service State: Pause");
                            break;
                    }
                }
                else if (args[0].Equals("/gui", StringComparison.OrdinalIgnoreCase))
                {
                    HostGUI gui = new HostGUI();
   
                    gui.InitHost(configHandler, _exePath);
                    gui.ShowDialog();
                    Console.ReadKey();
 
                }
                else if (args[0].Equals("/?", StringComparison.OrdinalIgnoreCase))
                {
                    WriteHelp();
                }
                else if (args[0].Equals("/c", StringComparison.OrdinalIgnoreCase))
                {
                    WriteHelpC();
                }
            }
            else
            {
                 RunAsService();
            }
        }