[英]Unable to start and stop service using ServiceController
我有以下方法來啟動和停止服務。 我從另一個Console應用程序調用此方法進行調試,因為我已經使用了類庫(DLL)中的方法。
該應用程序以管理權限啟動。
public void ServiceStart()
{
ServiceController service = new ServiceController();
service.ServiceName = "ASP.NET State Service";
service.Start();
}
public void ServiceStop()
{
ServiceController service = new ServiceController();
service.ServiceName = "ASP.NET State Service";
service.Stop();
}
但是當我調用Start()
或Stop()
會拋出以下消息:
無法在計算機上打開ASP.NET State Service服務'。'
有人可以幫我嗎?
您必須傳遞服務名稱 ,而不是顯示名稱 。 始終在“服務”應用程序中檢查服務屬性。
再試一次
service.ServiceName = "aspnet_state";
或者,您可以使用顯示名稱創建ServiceController實例:
ServiceController service = new ServiceController("ASP.NET State Service");
因為構造函數參數的文檔說:
標識系統服務的名稱。 這也可以是服務的顯示名稱。
還要注意一個電話
service.Start();
立即返回,無需等待服務啟動。 你應該打電話
service.WaitForStatus(ServiceControllerStatus.Running);
如果要在應用程序繼續之前確保服務正在運行。
以管理員身份打開Visual Studio
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.