服务未启动

时间:2020-01-10 09:55:44

标签: c# service core kestrel

这不是this post的副本,因为我已经在其中尝试了推荐的解决方案。

我一直在尝试将C#/。netCore 3.0 / Kestrel作为服务启动。

在努力使我的应用作为服务启动后,我遵循了这些instructions来创建一个新的exe,并得到了相同的结果。

发布,添加服务并尝试从cmd,powershell或服务界面启动服务后,系统提示我以下消息:

Windows无法在本地计算机上启动SomeWorker服务。 错误1053:服务未响应启动或控制 及时提出要求。

在调查系统事件日志时,我只看到一个通用的:

由于以下错误,myWorker服务无法启动: 该服务未及时响应启动或控制请求。

当我运行exe /控制台时,它可以正常启动,没有任何问题。

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestIdToken(getString(R.string.default_web_client_id))
                // TODO : What is IdToken
                .requestEmail()
                .build();

2 个答案:

答案 0 :(得分:1)

问题是未将Visual Studio设置为将服务部署为独立的。

在项目属性中设置此选项后,一切正常。

答案 1 :(得分:0)

不确定是否有帮助,我遇到了同样的问题。归结到我的CreateHostBuilder方法中:

    host.ConfigureAppConfiguration(
        (hostContext, config) =>
        {
            config.SetBasePath(Directory.GetCurrentDirectory());
            config.AddJsonFile("appsettings.json", false, true);
        }
    );

事实证明,不再需要上述操作,因为调用CreateDefaultBuilder将设置基本路径并添加appsettings.json。这是我的CreateHostBuilder现在的样子(可以正常工作):

        var host = Host.CreateDefaultBuilder(args)
            .UseWindowsService()
            .ConfigureLogging(loggingBuilder =>
            {
                var configuration = new ConfigurationBuilder()
                    .AddJsonFile("appsettings.json")
                    .Build();
                var logger = new LoggerConfiguration()
                    .ReadFrom.Configuration(configuration)
                    .CreateLogger();
                loggingBuilder.AddSerilog(logger, dispose: true);
            })
            .ConfigureServices((hostContext, services) =>
            {
                services.AddHostedService<SrtLmcoMaximoSyncWorker>();
            });
        return host;