Сервис не запускается - PullRequest
       12

Сервис не запускается

0 голосов
/ 10 января 2020

Это не дубликат этого поста , поскольку я уже пытался найти там рекомендуемые решения.

Я пытался запустить свой C # /. NetCore 3.0 / Kestrel как службы.

Пытаясь заставить мое приложение запускаться как служба, я следовал этим инструкциям , чтобы создать новый exe-файл с тем же результатом.

После публикации и добавив службу и пытаясь запустить службу из cmd, powershell или интерфейса службы, мне предлагается следующее сообщение:

Windows не удалось запустить службу SomeWorker на Локальный компьютер. Ошибка 1053: Служба не ответила на запрос запуска или управления своевременно.

При исследовании журнала системных событий я вижу только обобщенный c:

Служба myWorker не запустилась из-за следующей ошибки: Служба не ответила на запрос запуска или управления своевременно.

Когда я запускаю exe / console, она запускается без проблем.

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureLogging(
                options => options.AddFilter<EventLogLoggerProvider>(level => level >= LogLevel.Information))
            .ConfigureServices((hostContext, services) =>
            {
                services.AddHostedService<Worker>()
                    .Configure<EventLogSettings>(config =>
                    {
                        config.LogName = "Sample Service";
                        config.SourceName = "Sample Service Source";
                    });
            }).UseWindowsService();
}


public class Worker : BackgroundService
{
    private readonly ILogger<Worker> _logger;

    public Worker(ILogger<Worker> logger)
    {
        _logger = logger;
    }

    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
    {
        while (!stoppingToken.IsCancellationRequested)
        {
            _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
            await Task.Delay(1000, stoppingToken);
        }
    }
}

1 Ответ

0 голосов
/ 14 января 2020

Проблема заключалась в том, что Visual Studio не был настроен для развертывания службы как автономной.

После установки этого в свойствах проекта все работало нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...