ASP.NET Core Worker Windows 服务 - 错误 1053:服务未及时响应启动或控制请求

问题描述 投票:0回答:1

我开发了 ASP.NET Core-6 Worker Windows Service 并部署了它。

程序.cs:

static void Main(string[] args)
{
    IConfiguration configuration = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
        .Build()

    Log.Logger = new LoggerConfiguration()
        .ReadFrom.Configuration(configuration)
        .CreateLogger();

    var host = Host.CreateDefaultBuilder(args)
        .UseWindowsService()
        .ConfigureServices((hostContext, services) =>
        {
            services.AddDIServices(configuration);
            services.AddHostedService<Worker>();

            // Register RabbitMQ connection
            services.AddSingleton<IConnection>(sp =>
            {
                var factory = new ConnectionFactory
                {
                    UserName = configuration["RabbitMQ:RMQUsername"],
                    Password = configuration["RabbitMQ:RMQPassword"],
                    HostName = configuration["RabbitMQ:RMQHost"],
                    Port = int.Parse(configuration["RabbitMQ:RMQPort"])
                };
                return factory.CreateConnection();
            });
        })
        .UseSerilog()
        .Build();
    host.Run();
}
}

我发布了项目,并将文件复制到Release文件夹中。

然后我做了:

sc 创建 YourServiceName binPath= "C:\Path\To\Published\Directory\YourWorkerService.exe"

然后:

sc 启动你的服务名称

我收到此错误:

错误1053:服务没有及时响应启动或控制请求

请帮忙解决这个问题。

c# asp.net-core windows-services worker
1个回答
1
投票

你的命令不够好:

sc create YourServiceName binPath= "C:\Path\To\Published\Directory\YourWorkerService.exe" type= own start= auto depend= +TDI NetBIOS

start=auto 选项指示计算机启动新的“YourWorkerService”服务 计算机启动时自动启动。 dependent= +TDI NetBIOS 选项 告诉计算机它依赖于 TDI 组和 NetBIOS 服务。

PS:选项和值之间需要有空格(例如type=own。如果省略空格,则操作失败。

© www.soinside.com 2019 - 2024. All rights reserved.