Share via


HOW TO:建立 Windows 服務

當您建立服務時,可以使用一個稱為 [Windows 服務] 的 Visual Studio 專案範本。 這個範本會參考適當的類別和命名空間 (Namespace)、設定服務基底類別的繼承以及覆寫您可能會希望覆寫的數個方法,自動為您執行許多工作。

注意事項注意事項

在 Visual Studio 的標準版中,不能使用 [Windows 服務] 範本和相關的功能。

若要建立可運作的服務,您至少必須:

  • 設定 ServiceName 屬性。

  • 為您的服務應用程式建立必要的安裝程式。

  • 覆寫並指定 OnStartOnStop 方法的程式碼,以自訂服務的行為方式。

當您將安裝程式加入應用程式之後,下一步就是建立安裝專案,安裝專案會安裝編譯好的專案檔案,並執行安裝服務所需的安裝程式。 若要建立完整的安裝專案,您必須將服務專案的輸出加入至安裝專案,然後加入可安裝服務的自訂動作。 如需安裝專案的詳細資訊,請參閱設定和部署專案。 如需自訂動作的詳細資訊,請參閱逐步解說:建立自訂動作

若要建立 Windows 服務應用程式

  1. 建立 [Windows 服務] 專案。

    注意事項注意事項

    如需在不使用範本的情況下撰寫服務的詳細資訊,請參閱 HOW TO:以程式設計方式撰寫服務

  2. 在 [屬性] 視窗中,設定服務的 ServiceName 屬性。

    注意事項注意事項

    ServiceName 屬性的值必須永遠與安裝程式類別中記錄的名稱相符。 如果您變更這個屬性,您也必須更新安裝程式類別中的 ServiceName 屬性。

  3. 設定下列任何屬性,以決定服務的運作方式。

    屬性

    設定

    CanStop

    True 表示服務會接受停止執行的請求,false 表示防止服務停止執行。

    CanShutdown

    True 表示服務在其所存在的電腦關機時希望收到通知,讓它可以呼叫 OnShutdown 程序。

    CanPauseAndContinue

    True 表示服務會接受暫停或繼續執行的請求,false 表示防止服務暫停和繼續。

    CanHandlePowerEvent

    True 表示服務可以處理電腦電源狀態的變更通知,而 false 則可以避免服務收到這些變更通知。

    AutoLog

    True 表示當服務執行某個動作時,在應用程式事件記錄檔中寫入資訊項目,而 false 則表示停用此功能。 如需詳細資訊,請參閱 HOW TO:記錄關於服務的資訊

    注意事項注意事項
    根據預設,AutoLog 設定為 true。
    注意事項注意事項

    CanStop CanPauseAndContinue 設定為 false 時,[服務控制管理員] 將會停用與停止、暫停或繼續服務有關的功能表選項。

  4. 存取程式碼編輯器,並填入您想要的 OnStartOnStop 程序的處理。

  5. 覆寫您想要定義功能的任何其他方法。

  6. 為服務應用程式加入必要的安裝程式。 如需詳細資訊,請參閱 HOW TO:加入 Installer 至服務應用程式

  7. 從 [建置] 功能表中選取 [建置方案],建置您的專案。

    注意事項注意事項

    請勿按 F5 執行專案,因為您無法以這種方式執行服務專案。

  8. 安裝服務。 如需詳細資訊,請參閱 HOW TO:安裝及解除安裝服務

請參閱

工作

HOW TO:以程式設計方式撰寫服務

HOW TO:加入 Installer 至服務應用程式

HOW TO:記錄關於服務的資訊

HOW TO:啟動服務

HOW TO:指定服務的安全性內容

HOW TO:安裝及解除安裝服務

逐步解說:在元件設計工具中建立 Windows 服務應用程式

概念

Windows 服務應用程式簡介