共用方式為


作法:建立 Windows 服務

注意

本文不適用於 .NET 中的託管服務。 如需使用 Microsoft.Extensions.Hosting.BackgroundService 和背景工作角色服務範本之 Windows 服務的最新內容,請參閱:

當您建立服務時,可以使用稱為 Windows 服務的 Visual Studio 專案範本。 這個範本會透過參考適當的類別和命名空間、設定繼承自服務的基底類別,以及覆寫您可能想要覆寫的其中幾個方法,來自動為您執行大部分的工作。

警告

您無法在 Express 版的 Visual Studio 中使用 Windows 服務專案範本。

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

  • 設定 ServiceName 屬性。

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

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

建立 Windows 服務應用程式

  1. 建立 Windows 服務專案。

    注意

    如需不使用範本撰寫服務的指示,請參閱如何:以程式設計方式撰寫服務

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

    設定 ServiceName 屬性。

    注意

    ServiceName 屬性的值必須一律符合安裝程式類別中所記錄的名稱。 如果您變更這個屬性,也必須更新安裝程式類別的 ServiceName 屬性。

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

    屬性 設定
    CanStop 如果為 True,則表示服務會接受停止執行的要求;如果為 false,則不會停止服務。
    CanShutdown 如果為 True,則表示當服務所在的電腦關機時,服務想要收到通知,以便呼叫 OnShutdown 程序。
    CanPauseAndContinue 如果為 True,則表示服務會接受暫停或繼續執行的要求;如果為 false,則表示不會暫停及繼續服務。
    CanHandlePowerEvent True 表示服務可以處理電腦電源狀態變更的通知;false 則會防止服務收到這些變更的通知。
    AutoLog 如果為 True,則會在服務執行動作時,將資訊項目寫入應用程式事件記錄檔;如果為 false,則會停用這項功能。 如需詳細資訊,請參閱如何:記錄關於服務的資訊注意:預設會將 AutoLog 設定為 true

    注意

    CanStopCanPauseAndContinue 設定為 false 時,服務控制管理員將會停用對應的功能表選項,以停止、暫停或繼續服務。

  4. 存取程式碼編輯器,然後填入您想要對 OnStartOnStop 程序進行的處理。

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

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

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

    注意

    請勿按 F5 執行您的專案,您無法透過這個方法來執行服務專案。

  8. 安裝服務。 如需詳細資訊,請參閱 How to: Install and Uninstall Services

另請參閱