作法:建立 Windows 服務
注意
本文不適用於 .NET 中的託管服務。 如需使用 Microsoft.Extensions.Hosting.BackgroundService 和背景工作角色服務範本之 Windows 服務的最新內容,請參閱:
當您建立服務時,可以使用稱為 Windows 服務的 Visual Studio 專案範本。 這個範本會透過參考適當的類別和命名空間、設定繼承自服務的基底類別,以及覆寫您可能想要覆寫的其中幾個方法,來自動為您執行大部分的工作。
警告
您無法在 Express 版的 Visual Studio 中使用 Windows 服務專案範本。
若要建立可運作的服務,您必須至少:
設定 ServiceName 屬性。
建立服務應用程式的必要安裝程式。
建立 Windows 服務應用程式
建立 Windows 服務專案。
注意
如需不使用範本撰寫服務的指示,請參閱如何:以程式設計方式撰寫服務。
在 [屬性] 視窗中,設定服務的 ServiceName 屬性。
注意
ServiceName 屬性的值必須一律符合安裝程式類別中所記錄的名稱。 如果您變更這個屬性,也必須更新安裝程式類別的 ServiceName 屬性。
設定下列任何屬性,以決定服務的運作方式。
屬性 設定 CanStop 如果為 True
,則表示服務會接受停止執行的要求;如果為false
,則不會停止服務。CanShutdown 如果為 True
,則表示當服務所在的電腦關機時,服務想要收到通知,以便呼叫 OnShutdown 程序。CanPauseAndContinue 如果為 True
,則表示服務會接受暫停或繼續執行的要求;如果為false
,則表示不會暫停及繼續服務。CanHandlePowerEvent True
表示服務可以處理電腦電源狀態變更的通知;false
則會防止服務收到這些變更的通知。AutoLog 如果為 True
,則會在服務執行動作時,將資訊項目寫入應用程式事件記錄檔;如果為false
,則會停用這項功能。 如需詳細資訊,請參閱如何:記錄關於服務的資訊。 注意:預設會將 AutoLog 設定為true
。注意
當 CanStop 或 CanPauseAndContinue 設定為
false
時,服務控制管理員將會停用對應的功能表選項,以停止、暫停或繼續服務。覆寫您想要定義功能的其他任何方法。
為服務應用程式加入必要的安裝程式。 如需詳細資訊,請參閱如何:將安裝程式加入服務應用程式。
從 [建置] 功能表選取 [建置方案],以建置您的專案。
注意
請勿按 F5 執行您的專案,您無法透過這個方法來執行服務專案。
安裝服務。 如需詳細資訊,請參閱 How to: Install and Uninstall Services。