如何開發 Windows Service 使用 .Net 及 Topshelf
2020-07-04
從來沒有想過自行開發 Windows Service,一直以來都是在伺服器上直接執行 batch 或者經由工作排程器的方式執行想要達成的服務,但偶然契機下學習到 Windows Service 可以得到更多的便利性,同時藉由安裝 Topshelf 僅需要以 Console 開發上做延伸即可,非常實用。
說明
為什麼要需要 Windows Service
- 可以控制執行服務的角色與身分 (user, account)
- 作業系統啟用後會服務自動啟用,不需要仰賴使用者的登入
- 可以做為其他系統的依賴項目
- 可以將腳本包裝進入 Windows OS
- 可以遠端的控制腳本
使用 Topshelf 的好處
讓 Topshelf 負責 Service 的安裝、移除、管理,開發者可以專注在 Service 本身的開發工作。
專案實作
- 藉由 Visual Studio 新增 Console專案
- Nuget Install Topshelf
- 設計服務
- 用 Topshelf 包裝服務的類別與執行、停止
- Cli Install Topshelf 至 OS
- 驗證如何遠端控制 Service
待實作 😋😋😋