当前位置: 首页 > news >正文

构建.NET Core Web API为Windows服务安装包

要将.NET Core Web API制作成Windows服务安装包,可以按照以下步骤进行操作:

  1. 创建一个新的.NET Core Web API项目或使用现有的项目。

  2. 在项目中添加对Microsoft.Extensions.Hosting.WindowsServices包的引用。可以通过NuGet包管理器或在.csproj文件中手动添加引用。

  3. Program.cs文件中,修改CreateHostBuilder方法,以便将Web API应用程序作为Windows服务运行。示例如下:

using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Hosting.WindowsServices;public class Program
{public static void Main(string[] args){var isService = !(Debugger.IsAttached || args.Contains("--console"));var builder = CreateHostBuilder(args.Where(arg => arg != "--console").ToArray());if (isService){builder.UseWindowsService();}var host = builder.Build();if (isService){host.RunAsService();}else{host.Run();}}public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>();});
}
  1. 在项目的根目录中创建一个service文件夹,并在其中添加一个serviceinstaller.ps1文件。该文件用于安装和卸载Windows服务。示例如下:
param ([switch]$uninstall
)$serviceName = "YourServiceName"
$serviceDisplayName = "Your Service Display Name"
$serviceDescription = "Your Service Description"
$serviceExePath = "$PSScriptRoot\..\YourServiceProjectName.dll"if ($uninstall)
{Write-Host "Uninstalling $serviceName..."sc.exe delete $serviceNameWrite-Host "Uninstall completed."
}
else
{Write-Host "Installing $serviceName..."sc.exe create $serviceName binPath= $serviceExePath DisplayName= $serviceDisplayName start= autosc.exe description $serviceName $serviceDescriptionWrite-Host "Install completed."
}
  1. 在项目的根目录中创建一个publish.bat文件,用于发布项目并生成安装包。示例如下:
@echo offdotnet publish -c Release -o .\publishpowershell -ExecutionPolicy Bypass -File .\service\serviceinstaller.ps1
  1. 打开命令提示符或PowerShell,导航到项目的根目录,并运行publish.bat文件。这将发布项目并生成安装包。

  2. 在生成的publish文件夹中,找到发布的Web API应用程序和安装脚本。

  3. 将整个publish文件夹复制到目标服务器上,并运行serviceinstaller.ps1脚本以安装Windows服务。可以使用以下命令:

powershell -ExecutionPolicy Bypass -File .\service\serviceinstaller.ps1

安装完成后,.NET Core Web API将作为Windows服务在目标服务器上运行。

请注意,以上步骤仅适用于将.NET Core Web API作为Windows服务安装。如果需要更高级的功能,例如服务启动类型、日志记录等,可能需要进一步的自定义和配置。


http://www.mrgr.cn/news/38022.html

相关文章:

  • 在windows上编译micropython工程出错
  • 基于Springboot投稿和稿件处理系统设计与实现
  • 【C++前缀和】2731. 移动机器人|1922
  • 《凡人歌》中的IT职业启示录
  • react 状态管理
  • 【友元补充】【动态链接补充】
  • OpenMV与STM32通信全面指南
  • Python 封装 socket 为 [TCP/UDP/MULTICAST] 服务端
  • Python软体中使用TensorFlow实现一个简单的神经网络:从零开始
  • 大话 RCU (read copy update)
  • 保姆级复现yolov7(论文复现)
  • [数据集][目标检测]辣椒缺陷检测数据集VOC+YOLO格式695张5类别
  • 设计模式、系统设计 record part02
  • Java安全最佳实践:防御常见网络攻击
  • Study--Oracle-09--部署Openfiler存储服务器
  • 【机器学习】---深入探讨图神经网络(GNN)
  • 深信服2025届全球校招研发笔试-C卷(AK)
  • 一不小心,给腾讯云提了一个Bug
  • 学习ubuntu 24.10系统目录架构
  • uniapp view增加删除线