概述:本教程教您如何將.NET Core項目打造成Windows服務,實現無需用戶登錄的后臺運行。通過簡單步驟,您可以快速部署并管理服務,確保應用持續高效運行。
將.NET項目制作成Windows服務可以讓你的應用在后臺持續運行,無需用戶登錄。以下是將.NET Core項目制作成Windows服務的步驟:
首先,確保你的項目是一個.NET Core 項目。你可以通過使用以下命令創建:
dotnet new console -n YourServiceName
使用以下命令安裝必要的NuGet包:
dotnet add package Microsoft.Extensions.Hosting.WindowsServices
修改Program.cs以啟用Windows服務支持:
using Microsoft.Extensions.DependencyInjection;using Microsoft.Extensions.Hosting;using Microsoft.Extensions.Logging;public class Program{ public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseWindowsService() // 啟用Windows服務支持 .ConfigureServices((hostContext, services) => { services.AddHostedService<Worker>(); });}
在項目中創建一個繼承BackgroundService的類,例如:
using System;using System.Threading;using System.Threading.Tasks;using Microsoft.Extensions.Hosting;using Microsoft.Extensions.Logging;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) { _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now); await Task.Delay(1000, stoppingToken); } }}
在項目目錄執行以下命令:
dotnet publish -c Release -r win10-x64
在發布目錄中找到生成的可執行文件,打開命令提示符(以管理員身份運行):
sc create YourServiceName binPath= "C:/Path/To/Your/Service/YourServiceName.exe"
sc start YourServiceName
這是一個簡單的例子,具體的細節可能因項目的復雜性而有所不同。根據實際需要調整代碼和配置。
本文鏈接:http://www.tebozhan.com/showinfo-26-83624-0.html輕松打造Windows服務:將.NET Core項目轉化為無縫運行的后臺服務
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com