使用vs2019創建Worker Service程序
首先nuget安裝
Microsoft.Extensions.Hosting.Windows
在Program中添加UseWindowsService()
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>();
}).UseWindowsService();//部署windows值守服務
}
實際任務執行代碼Worker類
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)
{
//實際要執行的任務代碼
await Task.Delay(8640000, stoppingToken);
}
}
}
發佈程序後在程序目錄用cmd執行以下代碼
sc.exe create 服務名稱 binpath= xxxx.exe