将ASP.NET Core部署为Windows服务

以WebApi,dotnet8为例

官网参考文档

引入Nuget包

Microsoft.Extensions.Hosting.WindowsServices

添加WindowsService功能

修改 Program.cs

builder.Services.AddWindowsService();

发布到文件夹

生成exe文件

编写服务管理脚本

以管理员运行 service_management.bat

@echo off
set SERVICE_NAME=TestService
set DISPLAY_NAME="TestService"
set BIN_PATH="C:\TestService.exe"

:main
echo.
echo Welcome to %DISPLAY_NAME% Service Management Script
echo -----------------------------------------
echo 1) Create Service
echo 2) Start Service
echo 3) Stop Service
echo 4) Exit
echo.
set /p choice=Please enter your choice (1-4):

if "%choice%"=="1" (
    sc create %SERVICE_NAME% binPath= %BIN_PATH% DisplayName= %DISPLAY_NAME% start= auto
    echo Service %SERVICE_NAME% created.
    goto :main
) else if "%choice%"=="2" (
    sc start %SERVICE_NAME%
    echo Service %SERVICE_NAME% started.
    goto :main
) else if "%choice%"=="3" (
    sc stop %SERVICE_NAME%
    echo Service %SERVICE_NAME% stopped.
    goto :main
) else if "%choice%"=="4" (
    echo Exiting...
    exit
) else (
    echo Invalid choice. Please try again.
    goto :main
)

你可能感兴趣的:(.net,windows,asp.net,windows,后端)