Ejemplo n.º 1
0
        private static void RunConsole(Program service)
        {
            service.OnStart(null);

            var userOrServiceStop = Task.Factory.StartNew(() =>
            {
                var serviceStopped = Mutex.OpenExisting(RunningMutexName);
                var userCanceled   = new ConsoleCtrlCEvent(service._log);
                WaitHandle.WaitAny(new WaitHandle[] { userCanceled, serviceStopped });
            });

            userOrServiceStop.Wait();

            service.OnStop();
        }
Ejemplo n.º 2
0
        private static void RunConsole(Program service)
        {
            service.OnStart(null);

            var userOrServiceStop = Task.Factory.StartNew(() =>
            {
                var serviceStopped = Mutex.OpenExisting(RunningMutexName);
                var userCanceled = new ConsoleCtrlCEvent(service._log);
                WaitHandle.WaitAny(new WaitHandle[] {userCanceled, serviceStopped});
            });

            userOrServiceStop.Wait();

            service.OnStop();
        }