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(); }
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(); }