[英]Service not showing in ServiceController but showing in Services and Registry table
我正在嘗試獲取C#中NetTcpActivator和NetPipeActivator服務的狀態。
我使用以下代碼列出了帶有ServiceController的所有服務:
ServiceController[] services = ServiceController.GetServices();
foreach (ServiceController service in services)
{
string name = service.ServiceName;
string status = service.Status.ToString();
}
我進入了調試階段,但從未看到這兩個服務。
如果我在Windows中進入“服務”,則可以看到兩個服務。 如果我進入注冊表並查找SYSTEM \\ CurrentControlSet \\ services,我會看到NetTcpActivator和NetTcpPortSharing。 但是在注冊表中,我看不到服務的狀態。
知道為什么我看不到帶有ServiceController的服務嗎? 是否知道如果不在ServiceController中顯示服務狀態,該如何獲取?
謝謝
我假設您出於調試目的而遍歷所有服務,但是您可以使用簡單的LINQ語句來獲取所需的服務。
我能夠做到這些並獲得服務:
var netTcpActivatorService = ServiceController.GetServices().FirstOrDefault(s => s.ServiceName == "NetTcpActivator");
var netPipeActivatorService = ServiceController.GetServices().FirstOrDefault(s => s.ServiceName == "NetPipeActivator");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.