Esempio n. 1
0
        public static void Main(params string[] args)
        {
            XmlConfigurator.Configure();
            ILog log = LogManager.GetLogger(typeof(Program));

            new Application(new ApplicationOptions <CmdLineOptions>()
            {
                CommandLineOptionsFactory = (Func <CmdLineOptions>)(() => new CmdLineOptions("CSManagmentServer")),
                InitializeAction          = (Action <string[]>)(a =>
                {
                    Program.PrepareDirectories("CSManagmentServer", log);
                    ManagmentServer.KeyLength = Convert.ToInt32(ConfigurationManager.AppSettings["KeyLength"]);
                    ConnectionStringsSetter.SetConnectionStrings();
                    Program._serviceHost = SetupUtils.SetupAndStartServiceHost <ManagmentServer>(ServiceFinder.GetAddressParts(ConfigurationManager.AppSettings["ServiceEndpointAddress"]), log);
                }),
                MainWorkerAction = (Action)(() =>
                {
                    ManagmentServer.StatisticThread = new Thread(new ThreadStart(ManagmentServer.SaveStatistic))
                    {
                        IsBackground = true
                    };
                    ManagmentServer.StatisticThread.Start();
                    ManagmentServer.RefreshThread = new Thread(new ThreadStart(ManagmentServer.RefreshAll))
                    {
                        IsBackground = true
                    };
                    ManagmentServer.RefreshThread.Start();
                    ManagmentServer.CheckOperatorsThread = new Thread(new ThreadStart(ManagmentServer.CheckOperators))
                    {
                        IsBackground = true
                    };
                    ManagmentServer.CheckOperatorsThread.Start();
                }),
                StopAction  = new Action(Program.OnStop),
                ServiceName = "CSManagmentServer"
            }, ManagmentServer.Logger).Run(args);
        }