private static void OnConsoleControlEvent(object sender, ConsoleControlEventArgs e) { if (_service != null) { Log("Service Host console closing."); _service.InternalStop(); int maxWaitTime = Configuration.ConsoleCloseMaxWaitTime; if (maxWaitTime <= 0) { maxWaitTime = Timeout.Infinite; } Log("Service Host console closing. Max wait time: " + ((maxWaitTime == Timeout.Infinite) ? "infinite" : maxWaitTime + " ms")); _closed.WaitOne(maxWaitTime, Configuration.WaitExitContext); } ConsoleControl.SetConsoleIcon(0); if (_oldEncoding != null) { Console.OutputEncoding = _oldEncoding; } Process.GetCurrentProcess().Kill(); }
private static void OnConsoleControlEvent(object sender, ConsoleControlEventArgs e) { if (_service != null) { Log("Service Host console closing."); _service.InternalStop(); int maxWaitTime = Configuration.ConsoleCloseMaxWaitTime; if (maxWaitTime <= 0) { maxWaitTime = Timeout.Infinite; } Log("Service Host console closing. Max wait time: " + ((maxWaitTime == Timeout.Infinite) ? "infinite" : maxWaitTime + " ms")); _closed.WaitOne(maxWaitTime, Configuration.WaitExitContext); } ConsoleControl.SetConsoleIcon(0); if (_oldEncoding != null) { Console.OutputEncoding = _oldEncoding; } Process.GetCurrentProcess().Kill(); }