建立 Windows 服務
--------------------------------------------------
當建立服務時,可以使用稱作 Windows 服務的 Visual Studio.NET 項目模板。此模板引用適當的類和命名空間、設定從服務基類的繼承並重寫您可能要重寫的幾種方法,從而自動為您完成大部分工作。
若要建立功能性服務,必須至少:
設定 ServiceName 屬性。
為服務應用程式建立必要安裝程式。
重寫 OnStart 和 OnStop 方法並為其指定代碼以自訂服務的行為方式。
在將安裝程式添加到應用程式之後,下一步是建立安裝項目,該項目將安裝已編譯的專案檔並運行安裝服務所需的安裝程式。若要建立完整的安裝項目,您必須將服務項目的輸出添加到該安裝項目,然後添加自訂動作以安裝您的服務。
建立一個 Windows 服務項目。
在“屬性”視窗中,設定服務的 ServiceName 屬性。 (注意 ServiceName 屬性的值必須始終與安裝程式類中記錄的名稱匹配。如果更改此屬性,還必須更新安裝程式類中的 ServiceName 屬性。)
設定下列所有屬性以確定服務的工作機制。
屬性 |
設定 |
CanStop |
True 表示服務將接受停止啟動並執行請求;false 表示禁止服務停止。 |
CanShutDown |
True 表示服務希望在運行它的電腦關閉時收到通知,以便能夠調用 OnShutDown 過程。 |
CanPauseAndContinue |
True 表示服務將接受暫停或繼續啟動並執行請求;false 表示禁止服務暫停和繼續。 |
CanHandlePowerEvent |
True 表示該服務可以處理有關電腦電源狀態更改的通知;false 表示禁止服務得到有關這些更改的通知。 |
AutoLog |
True 表示在服務執行操作時將資訊項寫入應用程式的事件記錄;false 表示禁用此功能。(注意 預設為 true。) 注意 當 CanStop 或 CanPauseandContinue 設定為 false 時,服務控制管理員將禁用停止、暫停或繼續服務的相應菜單選項。 |
存取碼編輯器,並為 OnStart 和 OnStop 過程填寫所需的處理。
重寫其他所有要為其定義功能的方法。
添加服務應用程式所必要安裝程式。
通過從“產生”菜單中選擇“產生解決方案”來產生項目。 (注意 不要通過按 F5 鍵來運行項目,不能以這種方式運行服務項目。)