Отладка верхней полки как сервиса

#topshelf

#topshelf

Вопрос:

У меня возникли проблемы с запуском TopShelf как сервиса, и я не получаю много информации для устранения неполадок. Я использую dotNet core 2.2.

Я получаю эту ошибку при ее запуске:

Ошибка: 1053: служба своевременно не ответила на запрос запуска или управления.

Журналы событий показывают:

  1. Был достигнут тайм-аут (30000 миллисекунд) во время ожидания подключения тестовой службы.
  2. Тестовой службе не удалось запуститься из-за следующей ошибки: служба своевременно не ответила на запрос запуска или управления.

Это сообщение показывает 30-секундный тайм-аут во всплывающем окне ошибки, которое происходит примерно через 1 секунду. Я не думаю, что это тайм-аут.

В моей текущей настройке я использую IHostedService, но я пробовал это без этого. Вот текущая настройка.

     var hostBuilder = SetupHost();
    var rc = HostFactory.Run(x =>
                {
                    x.Service<IHost>(s =>
                    {
                        s.ConstructUsing(name => hostBuilder.Build());
                        s.WhenStarted(tc =>
                        {
                            _logger = tc.Services.GetRequiredService<ILogger<Kickoff>>();
                            tc.StartAsync();
                        });
                        s.WhenStopped(tc => tc.StopAsync());
                    });
                    x.RunAsLocalService();
                    x.SetDescription("Test");
                    x.SetDisplayName("Test");
                    x.SetServiceName("Test");

                    x.EnableShutdown();
                    x.OnException(p => ExceptionOccured(p));
                });
  

Если вы увидите что-то вопиющее, люди, дайте мне знать.

Моя главная цель — найти метод для устранения этой проблемы. Я попытался войти в файл с system.io но это не дает результатов. Я не знаю, как это отладить или получить информацию о значении.

Комментарии:

1. Что такое _MonolithEventQueueProcessor18 ? Вы пытаетесь выполнить какую-то инициализацию этого при запуске?

2. Это фактическое название службы, я просто изменил его на test в сообщении и забыл обновить это. Я обновил его.

3. Эти 30 секунд timeout….is это исходит из вашего кода? Доступна ли трассировка стека?

4. Я не устанавливаю время ожидания, но я замечаю, что на сервере оно составляет 120 секунд. В исключении есть строка журнала, но ничего не записано. Не уверен, сработает ли она. Я не могу сказать, что происходит.

5. @DonChambers Я сталкиваюсь с той же проблемой — вы нашли решение / какие-либо советы по отладке?