ASP.NET Core 3.1 掛載為 Windows Services 的小記事

這段時間剛好協助處裡朋友公司一些新的Web API小專案,
由於是Windows base 加上 Docker的環境也並未準備好.
又不想掛載在IIS上,光架設想起來就很麻煩,
所以變成Windows Service到是很方便的選擇.

在官網的說明中,其實相單簡單
在Program.cs 中的IHostBuilder加入

UseWindowsService()


但實際上出現了小問題 冏...

ASP.NET Core 3+ IHostBuilder 本身並沒有提供UseWindowsService這個方法.
需安裝額外的 Extension

ASP.NET Core 3+ IHostBuilder

Microsoft.Extensions.Hosting.WindowsServices

ASP.NET Core 2.2 IWebHostBuilder

Microsoft.AspNetCore.Hosting.WindowsServices

裝完之後就成功找到了

用Administrator開啟CMD,binpath指向你建置出來的執行程式位置,建立服務,並指定port:6600

sc create Apiservice binpath= "C:\ApiService\NetCore3_WindowsServiceSample.exe --urls http://localhost:6600"

刪除服務指令

sc delete Apiservice



測試一下是否有如實回覆

就這樣很單純簡單的部屬在Windows Service上嚕~~

 

範例程式碼連結:請點我

 

參考連結: