繁体   English   中英

服务未显示在ServiceController中,但显示在“服务和注册表”表中

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM