Пример #1
0
 static void Main(string[] args)
 {
     Console.CancelKeyPress += Console_CancelKeyPress;
     AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit;
     WindowConsolHelper.DisbleQuickEditMode();
     Start();
     while (!mIsClosed)
     {
         string smd = Console.ReadLine();
         if (mIsClosed)
         {
             break;
         }
         switch (smd)
         {
         case "exit":
             Stop();
             mIsClosed = true;
             break;
         }
     }
 }
Пример #2
0
        static void Main(string[] args)
        {
            Console.CancelKeyPress += Console_CancelKeyPress;
            AppDomain.CurrentDomain.ProcessExit          += CurrentDomain_ProcessExit;
            AppDomain.CurrentDomain.FirstChanceException += CurrentDomain_FirstChanceException;
            WindowConsolHelper.DisbleQuickEditMode();

            Runner3.RunInstance.Init();

            Console.WriteLine(Res.Get("WelcomeMsg"));
            PrintLogo();

            Console.WriteLine(Res.Get("HelpMsg"));

            if (args.Length > 0 && args[0] == "start")
            {
                Task.Run(() => {
                    StartMonitor(args.Length > 1 ? args[1] : "local");
                });

                if (args.Length > 1)
                {
                    int port = 14330;
                    if (args.Length > 2)
                    {
                        int.TryParse(args[2], out port);
                    }
                    Cdy.Tag.Runner3.RunInstance.StartAsync(args[1], port);
                    Console.Title = "DbInRun-" + args[1];
                }
                else
                {
                    Cdy.Tag.Runner3.RunInstance.Start();
                }
            }

            while (!mIsClosed)
            {
                Console.Write(">");

                while (!Console.KeyAvailable)
                {
                    if (mIsClosed)
                    {
                        break;
                    }
                    Thread.Sleep(100);
                }

                if (mIsClosed)
                {
                    break;
                }

                string smd = Console.ReadLine();

                if (string.IsNullOrEmpty(smd))
                {
                    LoggerService.Service.EnableLogger = !LoggerService.Service.EnableLogger;
                    if (LoggerService.Service.EnableLogger)
                    {
                        Console.WriteLine("Log is enabled.");
                    }
                    else
                    {
                        Console.WriteLine("Log is disabled.");
                    }
                    continue;
                }

                string[] cmd = smd.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);

                if (cmd.Length == 0)
                {
                    continue;
                }

                string scmd = cmd[0].ToLower();
                switch (scmd)
                {
                case "exit":
                    if (Cdy.Tag.Runner3.RunInstance.IsStarted)
                    {
                        Cdy.Tag.Runner3.RunInstance.Stop();
                    }
                    mIsClosed = true;
                    break;

                case "start":
                    mStartTime = DateTime.Now;
                    string dbname = "local";
                    if (cmd.Length > 1)
                    {
                        Cdy.Tag.Runner3.RunInstance.StartAsync(cmd[1]);
                        Console.Title = "DbInRun-" + cmd[1];
                        dbname        = cmd[1];
                    }
                    else
                    {
                        Cdy.Tag.Runner3.RunInstance.Start();
                        Console.Title = "DbInRun-local";
                        dbname        = "local";
                    }
                    Task.Run(() => {
                        StartMonitor(dbname);
                    });
                    break;

                case "stop":
                    Cdy.Tag.Runner3.RunInstance.Stop();
                    break;

                case "switch":
                    LoggerService.Service.EnableLogger = true;
                    if (cmd.Length > 1)
                    {
                        var cd = cmd[1].ToLower();
                        if (cd == "primary")
                        {
                            if (!Cdy.Tag.Runner3.RunInstance.Switch(WorkState.Primary))
                            {
                                LoggerService.Service.Erro("RDDCManager", "Failed to switch to primary!");
                            }
                        }
                        else if (cd == "standby")
                        {
                            if (!Cdy.Tag.Runner3.RunInstance.Switch(WorkState.Standby))
                            {
                                LoggerService.Service.Erro("RDDCManager", "Failed to switch to standby!");
                            }
                        }
                    }
                    break;

                case "restart":
                    LoggerService.Service.EnableLogger = true;
                    Task.Run(() => {
                        Cdy.Tag.Runner3.RunInstance.ReStartDatabase();
                    });
                    break;

                case "dynamicload":
                    LoggerService.Service.EnableLogger = true;
                    Task.Run(() => {
                        Cdy.Tag.Runner3.RunInstance.DynamicLoadTags();
                    });
                    break;

                case "list":
                    ListDatabase();
                    break;

                case "setdatapath":
                    if (cmd.Length > 1)
                    {
                        SeriseEnginer4.HisDataPathPrimary = cmd[1];
                    }
                    break;

                case "setdatabackuppath":
                    if (cmd.Length > 1)
                    {
                        SeriseEnginer4.HisDataPathBack = cmd[1];
                    }
                    break;

                case "h":
                    Console.WriteLine(GetHelpString());
                    break;

                case "time":
                    Console.WriteLine((DateTime.Now - mStartTime).TotalSeconds);
                    break;

                case "**":
                    LogoHelper.PrintAuthor();
                    break;
                }
            }
        }
Пример #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="args"></param>
 public static void Main(string[] args)
 {
     ReadServerParameter();
     WindowConsolHelper.DisbleQuickEditMode();
     CreateHostBuilder(args).Build().Run();
 }
Пример #4
0
        static void Main(string[] args)
        {
            Console.CancelKeyPress += Console_CancelKeyPress;
            AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit;
            WindowConsolHelper.DisbleQuickEditMode();
            Console.WriteLine(Res.Get("WelcomeMsg"));
            if (args.Length > 0 && args[0] == "start")
            {
                if (args.Length > 1)
                {
                    Runner.Instance.Start(args[1]);
                }
                else
                {
                    Runner.Instance.Start("local");
                }
                Task.Run(() => {
                    StartMonitor(args.Length > 1 ? args[1] : "local");
                });
            }

            Console.WriteLine(Res.Get("HelpMsg"));
            while (!mIsClosed)
            {
                Console.Write(">");

                string smd = Console.ReadLine();
                if (mIsClosed)
                {
                    break;
                }
                if (string.IsNullOrEmpty(smd))
                {
                    continue;
                }

                string[] cmd = smd.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);

                if (cmd.Length == 0)
                {
                    continue;
                }

                string scmd = cmd[0].ToLower();
                switch (scmd)
                {
                case "exit":
                    if (Runner.Instance.IsStarted)
                    {
                        Runner.Instance.Stop();
                    }
                    mIsClosed = true;
                    break;

                case "start":
                    if (cmd.Length > 1)
                    {
                        Runner.Instance.Start(cmd[1]);
                    }
                    else
                    {
                        Runner.Instance.Start("local");
                    }
                    Task.Run(() => {
                        StartMonitor(cmd.Length > 1 ? cmd[1] : "local");
                    });
                    break;

                case "stop":
                    Runner.Instance.Stop();
                    break;

                case "h":
                    Console.WriteLine(GetHelpString());
                    break;
                    //case "mtest":
                    //    block = new MarshalMemoryBlock((long)(1024 * 1024 * 1024)*2);
                    //    //block.Clear();
                    //    break;
                }
            }
        }