2009-12-01 65 views

回答

0

您首先需要添加對System.ServiceProcess程序集的引用。下面的代碼給你大概你想做的事(我用在以下稱爲messageLabel Label控件)是什麼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.ServiceProcess; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class StartService : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     string serviceName = "Remote Registry"; 
     try 
     { 
      StartServiceByName(serviceName); 
     } 
     catch (Exception ex) 
     { 
      messageLabel.Text = ex.ToString().Replace("\r\n", "<BR>"); 
      return; 
     } 
     messageLabel.Text = String.Format("Service {0} started.", serviceName); 
    } 

    private void StartServiceByName(string serviceName) 
    { 
     ServiceController serviceController = new ServiceController(serviceName); 
     serviceController.Start(); 
    } 
} 

然而,有一個進一步的事情 - 你需要有Web服務器有允許更改此服務 - 這通常只能通過管理權限完成。

0

尚未測試。

請嘗試是否有效。您可以在btn點擊事件中添加以下代碼。

dim controller as new ServiceController 

controller.MachineName = "." //try the machine name 
controller.ServiceName = "service name" 
dim status as string = controller.Status.ToString 

' Stop the service 
controller.Stop() 

' Start the service 
controller.Start() 
0

根據網站帳戶的權限,您可以啓動/停止服務。

除了別人已經回答的內容外,您還可以用適當的參數將NET START掏空。

只要授予權限(我認爲它必須是一個域帳戶),您也可以對遠程計算機執行此操作。