HOW TO:執行服務的管理工作
更新:2007 年 11 月
您可以執行各種標準的服務管理工作,包括開始及停止、暫停、及重新開始。有兩種方式可以執行這些工作:使用 [伺服器總管/資料庫總管] 中的 [啟動服務管理員] 命令,或呼叫已連接至現有服務的 ServiceController 元件執行個體中的方法。
一般而言,服務作者會編寫程式碼,自訂與某一特定工作相關的動作。例如,服務可包含回應 OnPause 命令的程式碼。在此情況下,「暫停」工作的自訂處理會在服務暫停之前執行。如需定義服務功能的相關資訊,請參閱 HOW TO:建立 Windows 服務。
服務可用的特定工作要視服務的屬性而定,例如,您可以將服務的 CanStop 屬性設定為 false。這麼做會使 [停止] 命令無法使用於該特定的服務。如果您嘗試從程式碼停止服務,系統會引發錯誤:「無法停止 ServiceName」。
注意事項: |
---|
您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定。 |
從伺服器總管/資料庫總管執行管理工作
在 [伺服器總管/資料庫總管] 中,如果您要執行工作的伺服器未列出,請加入它。如需詳細資訊,請參閱 HOW TO:存取及初始化伺服器總管/資料庫總管。
若要開啟服務主控台並存取個別服務選項,請以滑鼠右鍵按一下 [服務] 節點,然後按一下 [啟動服務管理員]。
若要以程式設計方式來執行管理工作
請建立 ServiceController 類別的執行個體,設定它會與您要管理的服務互動。如需詳細資訊,請參閱 HOW TO:建立 ServiceController 元件執行個體。
呼叫適當的方法來開始、停止、暫停或繼續服務。
秘訣 您可能想查詢任何一個命令的對應屬性,來判斷服務是否會回應您的要求,也就是,在呼叫 Stop 方法之前,您可能要建立條件陳述式,來查詢服務的 CanStop 屬性,以及判斷是否為 true。
下列範例顯示如何在發出特定命令前評估服務是否接受該命令。
If myController.CanStop Then myController.Stop() End If
if (myController.CanStop) { myController.Stop(); }
請參閱
工作
HOW TO:建立 ServiceController 元件執行個體