protected override bool OnPowerEvent(PowerBroadcastStatus powerStatus)
        {
            try
            {
                _log.Info("[Topshelf] Power event raised");

                var arguments = new WindowsPowerEventArguments(powerStatus);

                var result = _serviceHandle.PowerEvent(this, arguments);

                _log.Info("[Topshelf] Power event handled");

                return(result);
            }
            catch (Exception ex)
            {
                _settings.ExceptionCallback?.Invoke(ex);

                _log.Fatal("The service did handle the Power event correctly", ex);
                ExitCode = (int)TopshelfExitCode.StopServiceFailed;
                throw;
            }
        }
Example #2
0
        protected override bool OnPowerEvent(PowerBroadcastStatus powerStatus)
        {
            try
            {
                _log.Info("[Topshelf] Power event raised");

                var arguments = new WindowsPowerEventArguments(powerStatus);

                var result = _serviceHandle.PowerEvent(this, arguments);

                _log.Info("[Topshelf] Power event handled");

                return result;
            }
            catch (Exception ex)
            {
                _settings.ExceptionCallback?.Invoke(ex);

                _log.Fatal("The service did handle the Power event correctly", ex);
                ExitCode = (int)TopshelfExitCode.StopServiceFailed;
                throw;
            }
        }