static int Main() { System.Environment.CurrentDirectory = Application.StartupPath; InitLog(); if (CheckOverlappedExecute() == true) { ActivateAlreadyOpenedServerMonitor(); return(0); } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); ServerMonitor serverMonitor = new ServerMonitor(); FormServerMonitor formServerMonitor = new FormServerMonitor(serverMonitor); if (serverMonitor.Init(formServerMonitor) == false) { FileLog.Instance.Write("실패! ServerMonitor 초기화에 실패했습니다!"); serverMonitor.Destroy(); return(-1); } Application.Run(formServerMonitor); return(0); }
public bool Init(FormServerMonitor refServerMonitorView) { m_refView = refServerMonitorView; m_config = new Config(new ConfigFileController()); if (m_config.ReadConfigINI() == false) { FileLog.Instance.Write("실패! INI파일의 설정을 읽지 못했습니다!"); return(false); } if (m_config.LoadConfig() == false) { FileLog.Instance.Write("실패! Config 파일 읽기에 실패했습니다!"); return(false); } FileLog.Instance.Write("Config 파일 로드."); m_netServer = new NetServer(this); if (m_netServer.Start(m_config.PortNumber) == false) { FileLog.Instance.Write("실패! Network 초기화에 실패했습니다!"); return(false); } FileLog.Instance.Write("Network 초기화."); if (m_dbMgr.Create(m_config.DB_DataSource, m_config.DB_InitialCatalog, m_config.DB_UserID, m_config.DB_Password) == false) { FileLog.Instance.Write("실패! DBMgr 생성에 실패했습니다!"); return(false); } FileLog.Instance.Write("DBMgr 생성."); if (m_serverInfoMgr.Init(m_config.refListServerInfo, m_config.AddServerInfo, m_config.DeleteServerInfo) == false) { FileLog.Instance.Write("실패! ServerInfoMgr 초기화에 실패했습니다!"); return(false); } FileLog.Instance.Write("ServerInfoMgr 초기화."); if (InitMonitoringLog(m_dbMgr, m_logStringMgr) == false) { FileLog.Instance.Write("실패! Monitoring Log 초기화에 실패했습니다!"); return(false); } FileLog.Instance.Write("MonitoringLoggerMgr 초기화."); m_updaterServerDBInfo = new ServerDBInfoUpdater(m_serverInfoMgr, m_dbMgr); ProcessSystem processSystem = new ProcessSystem(); m_serverController = new ServerController(m_serverInfoMgr, processSystem, m_monitoringLoggerMgr); m_serverReviver = new ServerReviver(m_serverInfoMgr, m_serverController); m_checkerServerState = new ProcessStateChecker(m_serverInfoMgr, processSystem, m_monitoringLoggerMgr); m_updaterServableState = new ServableStateUpdater(m_serverInfoMgr, m_monitoringLoggerMgr); m_updaterServerListView = new ServerListViewUpdater(m_refView.refLViewServerList, m_refView.refColServerName.Index, m_serverInfoMgr); m_updaterServerListView.BuildServerListView(); FileLog.Instance.Write("ServerMonitor 초기화."); m_refView.UpdateStatusBar(m_serverMonitorClientMgr.SessionCount); return(true); }