You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将ASP.NET Core Web API部署为Windows服务的问题求助

ASP.NET Core 7 Web API转Windows服务原生实现方案

不用第三方工具,直接用微软官方支持的方案就能搞定,步骤如下:

1. 安装官方Windows服务依赖包

打开项目终端,执行命令安装微软原生的服务支持包,这是官方维护的,完全靠谱:

dotnet add package Microsoft.Extensions.Hosting.WindowsServices

2. 修改Program.cs配置

在构建Host时加入UseWindowsService()方法,还能顺便设置服务名称,同时确保Web API的Kestrel配置正常(服务运行时不会沿用控制台的默认端口,建议提前指定)。

示例代码:

var builder = WebApplication.CreateBuilder(args);

// 启用Windows服务支持,自定义服务名称
builder.Host.UseWindowsService(options =>
{
    options.ServiceName = "我的WebAPI服务";
});

// 常规WebAPI配置,按需添加控制器、Swagger等
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// 如果需要在服务运行时也能访问Swagger,可按需去掉环境判断
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();

app.Run();

3. 发布应用

发布成Windows平台的可执行文件,建议用自包含发布,避免依赖服务器上的.NET环境:

# 发布Release版本,指定Windows x64架构,生成自包含可执行文件
dotnet publish -c Release -r win-x64 --self-contained true

发布完成后,去输出目录(比如bin\Release\net7.0\win-x64\publish)找到生成的exe文件。

4. 注册Windows服务

打开管理员权限的PowerShell,执行注册命令,把路径替换成你自己的exe路径:

# 创建服务,设置服务名称、显示名和描述
New-Service -Name "MyWebAPIService" -BinaryPathName "C:\你的发布路径\YourApiApp.exe" -DisplayName "我的WebAPI服务" -Description "ASP.NET Core Web API作为Windows服务运行"

5. 管理服务

注册完成后,就能通过命令或服务管理器操作服务:

# 启动服务
Start-Service -Name "MyWebAPIService"

# 查看服务状态
Get-Service -Name "MyWebAPIService"

# 停止服务
Stop-Service -Name "MyWebAPIService"

# 删除服务(如需清理)
sc delete MyWebAPIService

常见问题排查

  • 服务启动失败:直接去Windows事件查看器的应用程序日志找错误信息,大概率是端口被占用、配置文件缺失、权限不足这类问题。
  • Kestrel端口未生效:在appsettings.json里明确配置端口,示例:
"Kestrel": {
  "EndPoints": {
    "Http": {
      "Url": "http://localhost:5000"
    },
    "Https": {
      "Url": "https://localhost:5001"
    }
  }
}
  • 服务运行时访问Swagger:如果生产环境需要,可去掉if (app.Environment.IsDevelopment())判断,但记得做好安全限制(比如仅允许内网访问)。

内容的提问来源于stack exchange,提问作者IgorT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 02:17:28