在C# 中驗證Windows 服務的狀態
在與Windows 服務通訊的應用程式中,確定該服務是否在開始通訊之前正在運行。以下是在C# 中完成此操作的方法:
-
新增System.ServiceProcess 命名空間:
包含using System.ServiceProcess;在您的專案中存取必要的ServiceController 物件。
-
建立一個 ServiceController 實例:
實例化一個 ServiceController 對象,指定要檢查的服務的名稱(例如,ServiceController sc = new ServiceController(SERVICENAME);).
-
檢索服務Status:
ServiceController 的 Status 屬性提供服務的目前狀態。存取它以確定服務是否正在運行。
-
解釋狀態值:
Status屬性可以傳回不同的值,每個值對應於服務的特定狀態服務:
- ServiceControllerStatus.Running
- ServiceControllerStatus.Stopped
- ServiceControllerStatus.Paus >
ServiceC ontrollerStatus.StopPending- ServiceControllerStatus.StartPending
- ServiceControllerStatus.StatusChanging
-
-
需要再次檢索狀態,請在再次造訪Status屬性之前呼叫 sc.Refresh()。
提示:
ServiceController 也提供了WaitforStatus() 方法,允許等待特定狀態並
- 如果需要,您可以自訂不同狀態值的錯誤處理。
- 有關 ServiceController 物件的更多詳細信息,請參閱 Microsoft 文件。
-
以上是如何使用 C# 檢查 Windows 服務是否正在執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!