Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }