使用.net6.0做Windows的服务

在VS2022上新建项目:选择C#,windows,服务,最后选择worker service。

刚创建项目的时候只有一个类包,还需要应用另一个类包Microsoft.Extensions.Hosting.WindowsServices。

Main函数是这样的:

public static void Main(string[] args)
{
  IHost host = Host.CreateDefaultBuilder(args)
  .UseWindowsService(options =>
  {
    //服务进行命名,会显示在Windows服务中的服务名称上
    options.ServiceName = "PingMeiService";
  })
  .ConfigureServices(services =>
  {
    services.AddHostedService<Worker>();
  }).Build();

  host.Run();
}

如果不安装Microsoft.Extensions.Hosting.WindowsServices则不会有UseWindowsService方法,则服务无法启动会报1053错误,

如果没有这句话:options.ServiceName = "PingMeiService"; 可能会报1083错误。

 

最后创建服务:sc.exe create PingMeiService binPath="D:\soft\PingMeiSerice20230527\PingMeiService.exe" type=share start=auto displayname="PingMeiService"

启动服务: sc.exe start  PingMeiService

 

posted @ 2023-05-27 16:58  谁主沉浮1226  阅读(946)  评论(1)    收藏  举报