.NET 启动重定向路径与服务模式部署指南
Windows 11 是微软全新操作系统,现代化界面,流畅操作体验,适用于学习、工作与日常生活。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
在日常工作中,我们经常需要将程序直接在服务器上运行,而不依赖于IIS托管。这种情况下,有两种常见的方式:一种是部署为Windows服务模式,另一种则是直接启动.NET发布后的exe文件以控制台模式运行。然而,控制台模式运行的缺点是服务器重启后不会自动启动程序。虽然可以通过配置Windows计划任务在服务器开机时自动启动控制台,但今天我们将重点分享如何将.NET控制台程序和.NET开发的WebAPI及Web项目以Windows服务模式进行部署的注意事项。要将.NET
在日常工作中,我们经常需要将程序直接在服务器上运行,而不依赖于 IIS 托管。这种情况下,有两种常见的方式:一种是部署为 Windows 服务模式,另一种则是直接启动 .NET 发布后的 exe 文件以控制台模式运行。然而,控制台模式运行的缺点是服务器重启后不会自动启动程序。虽然可以通过配置 Windows 计划任务在服务器开机时自动启动控制台,但今天我们将重点分享如何将 .NET 控制台程序和 .NET 开发的 WebAPI 及 Web 项目以 Windows 服务模式进行部署的注意事项。
要将 .NET 项目部署为 Windows 服务,首先需要通过 NuGet 安装 Microsoft.Extensions.Hosting.WindowsServices 包。然后,在程序启动时进行如下配置:
对于控制台程序:
using Common;
namespace TaskService{
class Program{
static void Main(string[] args){
EnvironmentHelper.ChangeDirectory(args);
IHost host = Host.CreateDefaultBuilder(args).UseWindowsService()
.ConfigureServices((hostContext, services) =>{
//各种服务注入
})
.Build();
host.Run();
}
}
}对于 Web 及 WebAPI 程序:
using Common;
namespace WebAPI{
public class Program{
public static void Main(string[] args){
EnvironmentHelper.ChangeDirectory(args);
var builder = WebApplication.CreateBuilder(args);
builder.Host.UseWindowsService();
//各种服务注入
var app = builder.Build();
app.Run();
}
}
}







































