簡體   English   中英

無法使用ServiceController啟動和停止服務

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM