static ChoConsolePercentageProgressorEx() { ChoConsole.Initialize(); }
static ChoConsoleSession() { ChoConsole.Initialize(); }
static ChoConsoleSpinProgressor() { ChoConsole.Initialize(); }
private static void Initialize() { if (_isInitialized) { return; } lock (_padLock) { if (_isInitialized) { return; } _logBackupDay = DateTime.Today; InitializeAppInfo(); if (!ServiceInstallation) { if (ApplicationMode != ChoApplicationMode.Service && ApplicationMode != ChoApplicationMode.Web) { try { _rkAppRun = Registry.CurrentUser.OpenSubKey(RegRunSubKey, true); if (_rkAppRun == null) { _rkAppRun = Registry.CurrentUser.CreateSubKey(RegRunSubKey); } RunAtSystemStartup(!ChoGlobalApplicationSettings.Me.ApplicationBehaviourSettings.RunAtStartup); } catch (Exception ex) { System.Diagnostics.Trace.TraceError(ex.ToString()); } try { _rkAppRunOnce = Registry.CurrentUser.OpenSubKey(RegRunOnceSubKey, true); if (_rkAppRunOnce == null) { _rkAppRunOnce = Registry.CurrentUser.CreateSubKey(RegRunOnceSubKey); } RunOnceAtSystemStartup(!ChoGlobalApplicationSettings.Me.ApplicationBehaviourSettings.RunOnceAtStartup); } catch (Exception ex) { System.Diagnostics.Trace.TraceError(ex.ToString()); } } } ChoGuard.ArgumentNotNullOrEmpty(ChoGlobalApplicationSettings.Me.ApplicationConfigFilePath, "Application Config Path"); try { _elApplicationEventLog = new EventLog("Application", Environment.MachineName, ChoGlobalApplicationSettings.Me.ApplicationName); _elApplicationEventLog.Log = "Application"; _elApplicationEventLog.Source = ChoGlobalApplicationSettings.Me.EventLogSourceName; } catch (Exception ex) { System.Diagnostics.Trace.TraceError(ex.ToString()); } ApplicationConfigDirectory = Path.GetDirectoryName(ChoGlobalApplicationSettings.Me.ApplicationConfigFilePath); //Add default text trace listerner, if not defined in the configuration file Directory.CreateDirectory(ChoApplication.ApplicationLogDirectory); try { if (_logFileName != ChoGlobalApplicationSettings.Me.LogSettings.LogFileName || _logDirectory != ChoApplication.ApplicationLogDirectory) { _logFileName = ChoGlobalApplicationSettings.Me.LogSettings.LogFileName; _logDirectory = ChoApplication.ApplicationLogDirectory; ChoTextWriterTraceListener frxTextWriterTraceListener = new Cinchoo.Core.Diagnostics.ChoTextWriterTraceListener("Cinchoo", String.Format("BASEFILENAME={0};DIRECTORYNAME={1};FILEEXT={2}", ChoGlobalApplicationSettings.Me.LogSettings.LogFileName, ChoApplication.ApplicationLogDirectory, ChoReservedFileExt.Txt)); if (_frxTextWriterTraceListener != null) { System.Diagnostics.Trace.Listeners.Remove(_frxTextWriterTraceListener); } else { ChoGlobalTimerServiceManager.Register("Logbackup", () => { if (DateTime.Today != _logBackupDay) { _logBackupDay = DateTime.Today; ChoTrace.Backup(); } }, 60000); } _frxTextWriterTraceListener = frxTextWriterTraceListener; System.Diagnostics.Trace.Listeners.Add(_frxTextWriterTraceListener); } } catch (Exception ex) { System.Diagnostics.Trace.TraceError(ex.ToString()); } while (_queueTraceMsg.Count > 0) { Tuple <bool?, string> tuple = _queueTraceMsg.Dequeue(); System.Diagnostics.Trace.WriteLineIf(tuple.Item1 == null ? ChoGlobalApplicationSettings.Me.TurnOnConsoleOutput : tuple.Item1.Value, tuple.Item2); } _isInitialized = true; ChoApplication.WriteToEventLog(ChoApplication.ToString()); //ChoApplication.WriteToEventLog(ChoGlobalApplicationSettings.Me.ToString()); //Initialize other Framework Settings ChoAssembly.Initialize(); ChoConsole.Initialize(); ChoConfigurationManager.Initialize(); } }