釋出輔助角色服務並安裝到Windows
阿新 • • 發佈:2021-08-07
https://dotnetchina.gitee.io/furion/docs/process-service#2581-部署到-windows-service
記錄輔助角色服務部署到Windows Service
使用VS2019建立完Windows輔助服務專案如何部署到Windows上呢?
- 第一步:安裝Microsoft.Extensions.Hosting.WindowsServices 拓展包
- 第二步: 在 Program.cs 中新增 .UseWindowsService()
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace FurionWorkers { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseWindowsService() .Inject() // 需安裝Furion包(預設情況下,Inject() 方法註冊了 日誌、快取、依賴注入、載入配置、自定義 Startup 功能。 // 整合 Furion 後會自動掃描 Worker 類並實現自動註冊。) .ConfigureServices((hostContext, services) => { // 註冊資料庫服務 //services.AddDatabaseAccessor(options => //{ // options.AddDb<DefaultDbContext>(); //}); // 註冊遠端請求 services.AddRemoteRequest(); // 以下程式碼可不用編寫,Furion 已實現自動註冊 Worker; services.AddHostedService<Worker>();//註冊Worker類 // 等等其他服務註冊 }); } }
-
第三步:釋出 Worker Service,可通過 dotnet publish -c Release -o D:\Publish\WorkService
命令釋出或通過 Visual Studio 2019 釋出。
-
第四步:通過 sc.exe 工具來管理並建立 Windows 服務,通過 管理員模式 並開啟控制檯,輸入:
sc.exe create FurionWorkerServices binPath= D:\Publish\WorkService\FurionWorker.exe
** 注意=後面要有一個空格
建立成功後可通過 sc.exe query FurionWorkerServices 檢視服務狀態。 -
第五步:
-
(1)啟動服務:sc.exe start FurionWorkerServices,啟動之後就可以在 Windows 服務工具中查看了。
-
(2)停止服務:sc.exe stop NETCoreDemoWorkerService
-
(3)刪除服務:sc.exe delete NETCoreDemoWorkerService
-
Tips:以上所有 sc.exe 命令必須在 管理員 模式下進行。