netcore 以Windows服务的方式启动 (Linux不适

2023-05-30  本文已影响0人  whtsup

1、添加 Microsoft.Extensions.Hosting.WindowsServices 包
dotnet add package Microsoft.Extensions.Hosting.WindowsServices

2、添加 UseWindowsService

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .UseWindowsService() // UseWindowsService
       .Build().Run();

3、发布程序后通过sc命令安装服务
sc create MyService binPath= "d:\test\MyService.exe" start= auto displayname= "displayname"
注意这里是启动的exe

  > sc create

描述:
        在注册表和服务数据库中创建服务项。
用法:
        sc <server> create [service name] [binPath= ] <option1> <option2>...

选项:
注意: 选项名称包括等号。
      等号和值之间需要一个空格。
 type= <own|share|interact|kernel|filesys|rec|userown|usershare>
       (默认 = own)
 start= <boot|system|auto|demand|disabled|delayed-auto>
       (默认 = demand)
 error= <normal|severe|critical|ignore>
       (默认 = normal)
 binPath= <.exe 文件的 BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <依存关系(以 / (斜杠)分隔)>
 obj= <AccountName|ObjectName>
       (默认= LocalSystem)
 DisplayName= <显示名称>
 password= <密码>

4、如遇到 【 失败 1053: 服务没有及时响应启动或控制请求。】 的错误
请打开Windows事件查看器 -->应用程序 查看日志

上一篇下一篇

猜你喜欢

热点阅读