Как сделать так, чтобы служба Windows запускалась автоматически - PullRequest
1 голос
/ 03 июля 2019

Я пытаюсь заставить службу Windows запускаться автоматически перед началом сеанса.
Я попытался использовать TopShelf и добавить метод Start Automatically, но служба не запускается, когда я запускаюкомпьютер. Мне все еще нужно запустить его вручную.Что-то мне не хватает?

Запуск службы

public static void RunService() {
            var exitCode = HostFactory.Run(x => {
                x.Service<SomeService>(s => {
                    s.ConstructUsing((h) => new SomeService());
                    s.WhenStarted(t => t.Start());
                    s.WhenStopped(t => t.Stop());
                    s.WhenSessionChanged((daemon, host, args) => daemon.SessionChanged(args.SessionId));
                });
                x.EnableSessionChanged();
                x.EnableShutdown();

                x.StartAutomatically();
                x.RunAsLocalSystem();

            });
            int exitCodeValue = (int)Convert.ChangeType(exitCode, exitCode.GetTypeCode());
        }

1 Ответ

1 голос
/ 03 июля 2019
  1. Проверьте приложение панели управления службами («services.msc») и убедитесь, что тип запуска службы - «Автоматический».
  2. С помощью средства просмотра событий проверьте область Журналы Windows> Приложение для сообщений от вашей службы.Возможно, он запускается при загрузке, но быстро падает или останавливается.
  3. С помощью средства просмотра событий проверьте область журналов событий Windows> Система на наличие ошибок при запуске службы.Просмотрите записи, источником которых является «Диспетчер управления службами».

См. « Почему моя служба Windows не запускается при загрузке? » для получения дополнительных рекомендаций.

...