詳解如何將.NET應用轉(zhuǎn)換成Window服務
更新時間:2024年01月14日 09:16:27 作者:rjcql
這篇文章主要為大家詳細介紹了如何將.NET8.0應用程序轉(zhuǎn)換成Windows服務,文中的示例代碼講解詳細,有需要的小伙伴可以跟隨小編一起學習一下
寫在前面
本文介紹了將.NET8.0應用程序轉(zhuǎn)換成Windows服務。
需要在NuGet中獲取并安裝:Microsoft.Extensions.Hosting.WindowsServices 包
代碼實現(xiàn)
using System.Runtime.InteropServices;
using WorkerService1;
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args)
{
var host = Host.CreateDefaultBuilder(args);
//判斷當前系統(tǒng)是否為windows
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
host.UseWindowsService();
}
return host.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>();
});
}
}
namespace WorkerService1
{
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)
{
if (_logger.IsEnabled(LogLevel.Information))
{
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
}
await Task.Delay(1000, stoppingToken);
}
}
}
}發(fā)布配置

可以使用批處理安裝服務:
@echo off @title 安裝windows服務 @echo off echo= 安裝服務! @echo off @sc create worktest binPath= "%~dp0WorkerService1.exe" echo= 啟動服務! @echo off @sc start worktest @echo off echo= 配置服務! @echo off @sc config worktest start= AUTO @echo off echo= 成功安裝、啟動、配置服務! @pause
執(zhí)行結果

由于編碼問題,中文出現(xiàn)了亂碼,但是服務已經(jīng)成功創(chuàng)建并配置為自動啟動了。

到此這篇關于詳解如何將.NET應用轉(zhuǎn)換成Window服務的文章就介紹到這了,更多相關.NET應用轉(zhuǎn)換成Window服務內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C# CAD SelectionFilter下TypedValue數(shù)組使用方式
這篇文章主要介紹了C# CAD SelectionFilter下TypedValue數(shù)組使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02

