如何開發 Windows Service 使用 .Net 及 Topshelf


  1. 說明
    1. 為什麼要需要 Windows Service
    2. 使用 Topshelf 的好處
    3. 專案實作
  2. 參考資料

從來沒有想過自行開發 Windows Service,一直以來都是在伺服器上直接執行 batch 或者經由工作排程器的方式執行想要達成的服務,但偶然契機下學習到 Windows Service 可以得到更多的便利性,同時藉由安裝 Topshelf 僅需要以 Console 開發上做延伸即可,非常實用。

logo

說明

為什麼要需要 Windows Service

  • 可以控制執行服務的角色與身分 (user, account)
  • 作業系統啟用後會服務自動啟用,不需要仰賴使用者的登入
  • 可以做為其他系統的依賴項目
  • 可以將腳本包裝進入 Windows OS
  • 可以遠端的控制腳本

使用 Topshelf 的好處

讓 Topshelf 負責 Service 的安裝、移除、管理,開發者可以專注在 Service 本身的開發工作。

專案實作

  1. 藉由 Visual Studio 新增 Console專案
  2. Nuget Install Topshelf

Nuget - Topshelf

  1. 設計服務
  2. 用 Topshelf 包裝服務的類別與執行、停止
  3. Cli Install Topshelf 至 OS
  4. 驗證如何遠端控制 Service

待實作 😋😋😋

參考資料