共用方式為


HOW TO:執行服務的管理工作

更新:2007 年 11 月

您可以執行各種標準的服務管理工作,包括開始及停止、暫停、及重新開始。有兩種方式可以執行這些工作:使用 [伺服器總管/資料庫總管] 中的 [啟動服務管理員] 命令,或呼叫已連接至現有服務的 ServiceController 元件執行個體中的方法。

一般而言,服務作者會編寫程式碼,自訂與某一特定工作相關的動作。例如,服務可包含回應 OnPause 命令的程式碼。在此情況下,「暫停」工作的自訂處理會在服務暫停之前執行。如需定義服務功能的相關資訊,請參閱 HOW TO:建立 Windows 服務

服務可用的特定工作要視服務的屬性而定,例如,您可以將服務的 CanStop 屬性設定為 false。這麼做會使 [停止] 命令無法使用於該特定的服務。如果您嘗試從程式碼停止服務,系統會引發錯誤:「無法停止 ServiceName」。

注意事項:

您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定

從伺服器總管/資料庫總管執行管理工作

  1. 在 [伺服器總管/資料庫總管] 中,如果您要執行工作的伺服器未列出,請加入它。如需詳細資訊,請參閱 HOW TO:存取及初始化伺服器總管/資料庫總管

  2. 若要開啟服務主控台並存取個別服務選項,請以滑鼠右鍵按一下 [服務] 節點,然後按一下 [啟動服務管理員]。

若要以程式設計方式來執行管理工作

  1. 請建立 ServiceController 類別的執行個體,設定它會與您要管理的服務互動。如需詳細資訊,請參閱 HOW TO:建立 ServiceController 元件執行個體

  2. 呼叫適當的方法來開始、停止、暫停或繼續服務。

    秘訣

    您可能想查詢任何一個命令的對應屬性,來判斷服務是否會回應您的要求,也就是,在呼叫 Stop 方法之前,您可能要建立條件陳述式,來查詢服務的 CanStop 屬性,以及判斷是否為 true。

    下列範例顯示如何在發出特定命令前評估服務是否接受該命令。

    If myController.CanStop Then
        myController.Stop()
    End If
    
         if (myController.CanStop)
            {
                myController.Stop();
            }
    

請參閱

工作

HOW TO:建立 ServiceController 元件執行個體

HOW TO:擷取服務清單

HOW TO:建立 Windows 服務

概念

與現有服務通訊的簡介

參考

HOW TO:存取及初始化伺服器總管/資料庫總管